MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Filtro de multipla seleção

    Compartilhe
    avatar
    JIR
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 111
    Registrado : 28/08/2016

    [Resolvido]Filtro de multipla seleção

    Mensagem  JIR em 25/11/2018, 17:36

    Boa Tarde, a todo o Fórum,

    Estou construindo um filtro em formulário que dê para selecionar com base numa consulta, vários funcionários

    já tenho um exemplo parecido que me foi facultado pelo Prof Avelino, mas tentei agora adaptar a outro exemplo e não está a funcionar

    pf alguém pode ajudar, onde estou a errar

    o exemplo anexo vai ter vários filtros, mas nesta fase já está dando erro no 1º filtro que montei para selecionar vários funcionários

    o código pára em:

    Private Sub fncFiltraConsulta(strFiltro$)
    Dim qry As QueryDef
    Dim strSQl$
    Set qry = CurrentDb.QueryDefs("qryFicheiro_Mestre_Consulta")
    strSQl = Left(qry.SQL, InStr(qry.SQL, "HAVING") - 1)
    strSQl = strSQl & " HAVING " & strFiltro
    strSQl = strSQl & " ORDER BY Ficheiro_Mestre.Nº ORDEM;"
    qry.SQL = strSQl
    Me.Refresh
    Set qry = Nothing
    End Sub
    Anexos
    FiltroForm.zip
    Filtro
    Você não tem permissão para fazer download dos arquivos anexados.
    (231 Kb) Baixado 9 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10432
    Registrado : 04/11/2009

    Re: [Resolvido]Filtro de multipla seleção

    Mensagem  JPaulo em 25/11/2018, 20:06

    Ola

    O seu campo "Nº ORDEM" tem um espaço no nome, e sempre que isso acontece tem de isolar esse nome entre colchetes [Nº ORDEM].

    Tem de corrigir em todos os eventos que usa esse nome;

    Código:
    Private Sub Form_Open(Cancel As Integer)
        Call fncFiltraConsulta("Ficheiro_Mestre.[Nº ORDEM] > 0")
    End Sub

    Código:
    Private Sub fncFiltraConsulta(strFiltro$)
    Dim qry As QueryDef
    Dim strSQl$
    Set qry = CurrentDb.QueryDefs("qryFicheiro_Mestre_Consulta")
        strSQl = Left(qry.SQL, InStr(qry.SQL, "HAVING") - 1)
        strSQl = strSQl & " HAVING " & strFiltro
        strSQl = strSQl & " ORDER BY Ficheiro_Mestre.[Nº ORDEM];"
        qry.SQL = strSQl
        Me.Refresh
    Set qry = Nothing
    End Sub

    Note que numa correta modelagem de dados, não se deve usar espaços nem caracteres especiais em nome de campos, consultas, formularios, relatorios, etc...


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    JIR
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 111
    Registrado : 28/08/2016

    Re: [Resolvido]Filtro de multipla seleção

    Mensagem  JIR em 25/11/2018, 21:28

    Olá JPaulo,

    muito obrigado, vou ter algum trabalho mas vou corrigir na BD todos os campos que estiverem nesta situação

    Grade Abraço

      Data/hora atual: 18/3/2019, 22:29