MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


    [Resolvido]Segundo campo de pesquisa n/ respeita...

    avatar
    Convidado
    Convidado


    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Convidado 2/2/2018, 21:11

    boas
    tenho um form, com um subform e três campos de pesquisa, em que tenho o seguinte código...

    Campo 1
    Código:
    Private Sub txtPesquisaAno_Change()
    Dim strFiltro As String
    strFiltro = "Ano LIKE '*" & Me.txtPesquisaAno.Text & "*' "
    Me.frmSub_Qry_FeriasMarcadas.Form.Filter = strFiltro
    Me.frmSub_Qry_FeriasMarcadas.Form.FilterOn = True
    End Sub

    Campo 2
    Código:
    Private Sub txtPesquisaMES_Change()
    Dim strFiltro As String
    strFiltro = "Meses LIKE '*" & Me.txtPesquisaMES.Text & "*' "
    Me.frmSub_Qry_FeriasMarcadas.Form.Filter = strFiltro
    Me.frmSub_Qry_FeriasMarcadas.Form.FilterOn = True
    End Sub

    Campo 3
    Código:
    Private Sub txtPesquisa_Change()
    Dim strFiltro As String
    strFiltro = "SectorDescricao LIKE '*" & Me.txtPesquisa.Text & "*' "
    Me.frmSub_Qry_FeriasMarcadas.Form.Filter = strFiltro
    Me.frmSub_Qry_FeriasMarcadas.Form.FilterOn = True
    End Sub

    A minha questão é que ao filtrar o mês( Campo 2 ), deixa de respeitar o que foi pesquisado no campo 1 !! ?
    Obrigado.

    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Noobezinho 3/2/2018, 10:58

    Marco

    Exato !

    Porque da maneira que está fazendo, cada campo ou controle é um filtro isolado.

    Em rápidas palavras, precisa adicionar o resultado do campo anterior ao filtro atual:

    Por exemplo:

    Na sessão declarações da página VBA do formulário:

    Dim strFiltroCampo1 As String, strFiltroCampo2 As String; strFiltroCampo3 As String

    No campo 1:

    Me.frmSub_Qry_FeriasMarcadas.Form.Filter = strFiltroCampo1

    Campo2:

    Me.frmSub_Qry_FeriasMarcadas.Form.Filter = strFiltroCampo1 + strFiltroCampo2

    Campo 3

    Me.frmSub_Qry_FeriasMarcadas.Form.Filter = strFiltroCampo1 + strFiltroCampo2 + strFiltroCampo3

    Veja que estou te passando a ideia não que isso funcione de fato, pois não testei.

    Talvez tenha que adicionar os critérios anteriores na linha de cima onde tem a instrução SQL que define o filtro.

    [ ]'s



    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Convidado
    Convidado


    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Convidado 3/2/2018, 13:29

    boas amigo...
    Fiz o que me falou, mas sem êxito ! posso ter feito algo errado. Como tal deixo parte do bd para uma analise e melhor ajuda. Obrigado
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Noobezinho 3/2/2018, 14:11

    Marco

    O código exemplo que precisa.

    Estude-o e aplique no teu projeto.

    Veja que é uma função, a qual será chamada a cada campo:


    Código:

    Public Function fncFiltrar(NomeCampoFoco As String)
    Dim x As String, filtro As String
    Dim cp(4) As Variant
    Dim k As Variant, p As Byte

    x = Me(NomeCampoFoco).Text: p = 0
    For p = 0 To 3
        cp(p) = IIf(InStr(NomeCampoFoco, "tx" & p + 1) > 0, x, Me("tx" & p + 1))
    Next

    filtro = IIf(Len(cp(0) & "") = 0, "", "DataDopedido Like '*" & cp(0) & "*' AND ")
    filtro = filtro & IIf(Len(cp(1) & "") = 0, "", "CidadeDeDestino Like '*" & cp(1) & "*' AND ")
    filtro = filtro & IIf(Len(cp(2) & "") = 0, "", "RegiãoDeDestino Like '*" & cp(2) & "*' AND ")
    filtro = filtro & IIf(Len(cp(3) & "") = 0, "", "PaísDeDestino Like '*" & cp(3) & "*' AND")

    If filtro = "" Then
        Me.Filter = "": Me.FilterOn = False
        Me(NomeCampoFoco).SetFocus
        Exit Function
    End If

    filtro = Mid(filtro, 1, Len(filtro) - 4)
    Me.Filter = filtro
    Me.FilterOn = True
    Me(NomeCampoFoco) = x
    Me(NomeCampoFoco).SelStart = Len(x & "")
    End Function


    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Convidado
    Convidado


    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Convidado 4/2/2018, 10:35

    Obrigado amigo Noob !
    Olhei para o seu código tentei executar mas sem sucesso... há algo que não estou a "pescar" !
    Conseguimos/ consegue dar me mais algumas pistas ?! ?
    Obrigado
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Noobezinho 4/2/2018, 10:53

    Marco

    Também achei que não iria conseguir, eu realmente não gosto desse filtro, ou não me dou bem com ele.Razz  

    Então, estou disponibilizando um exemplo que tenho em meus alfarrábios e que funciona perfeitamente.

    Estude o código que envolve os critérios da pesquisa.

    Existe uma função: AdicionarAWhere()

    Como o nome já diz, ela adiciona os critérios a consulta.

    Para cada campo é uma chamada a função para que ela vá adicionando

    os critério na futura consulta que será realizada.

    Veja que no exemplo tem 4 campos, portanto 4 chamadas a essa função.

    Qualquer dúvida, retorne

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Convidado
    Convidado


    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Convidado 4/2/2018, 14:21

    Prezado Noob ! Obrigado...
    Já lá cheguei estou só a ajustar algumas "coisitas" mas acho que entendi... só que só consigo obter a filtragem após clicar a segunda vez... não estou a entender o porque ?! !
    O Código ficará :
    Código:
        ' by Noob - maximoaccess.com

    após terminar deixo o resultado. Obrigado
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Noobezinho 4/2/2018, 15:01


    Ele deve funcionar sempre que clicar uma vez no botão Mostrar Clientes.

    E deve retornar a pesquisa de qualquer campo, mesmo que os outros estejam em branco

    Sabe depurar o código VBA?

    [ ]'s



    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Convidado
    Convidado


    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Convidado 4/2/2018, 17:40

    Noob . . .
    Obrigado ! agora sim após depurar esta em conformidade.
    Se precisar reabro o tópico !
    Obrigado... abraço para você e uma vez mais obrigado.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Noobezinho 4/2/2018, 19:13

    Ótimo Marco

    Valeu o retorno

    Boa sorte!


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    [Resolvido]Segundo campo de pesquisa n/ respeita... Empty Re: [Resolvido]Segundo campo de pesquisa n/ respeita...

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 08:45