[resolvido] Realizar filtros semelhantes ao Excel

Moderador: Avelino Sampaio

IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

[resolvido] Realizar filtros semelhantes ao Excel

Mensagempor IsmaelSilva » 03 Mar 2018, 17:47

Boa tarde,

Quero saber se tem como fazer um filtro, como no excel, onde tem as caixinha para escolhermos as opções que queremos filtrar. No Access eu tenho um formulário, onde tem vários critérios para gerar o relatório, e um caso específico, eu tenho uma combo, onde contém todas as placas que eu tenho cadastradas, porém o problema é quando eu tenho a necessidade de gerar um relatório com mais de uma placa, pois a combo só apresenta uma opção e quando isso acontece, eu vou na minha consulta, e insiro as placas que eu quero gerar o relatório, mas isso de forma manual. Queria um forma mais automatizada de gerar esse relatório, escolhendo mais de uma opção no caso das placas, algo parecido com o excel mesmo.

Obrigado.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1885
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Realizar filtros semelhantes ao Excel

Mensagempor Avelino Sampaio » 04 Mar 2018, 11:30

Ismael,

veja se este exemplo que fiz te atende. Utilizei a clausula IN() para filtrar as diversas placas selecionadas.

Código:
Private Sub Comando21_Click()
If IsNull(Me!txtFiltro) Then Exit Sub
Me.Filter = "placa IN(" & Mid(Me!txtFiltro, 2) & ")"
Me.FilterOn = True
Me!txtFiltro = Null
Me!Combinação17 = Null
Me!Combinação17.SetFocus
End Sub


Aguardamos
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

Re: Realizar filtros semelhantes ao Excel

Mensagempor IsmaelSilva » 04 Mar 2018, 13:08

Avelino, bom dia

Sim, é exatamente isso que preciso, porém eu não consegui implementar no meu BD, repare em Frm_Filtros, onde tenho as opções/critérios para gerar o relatório. No seu exemplo me parece que filtra direto no Form, e no meu caso, eu escolho os critérios no Form, e clico para gerar relatório, eu foi isso que não consegui fazer funcionar. Tentei fazer assim:

Código:
If IsNull(Me!TXT_FILTROS) Then Exit Sub
Me.Filter = "CBOPlaca IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
Me.FilterOn = True
Me!TXT_FILTROS = Null
Me!Placa1 = Null
Me!Placa1.SetFocus
'DoCmd.OpenReport "Relatório Detalhes Combustível", acViewPreview, , strFiltro


Não deu certo.

Já o código que eu tenho e que filtra apenas uma placa, é este:

Código:
If Not IsNull(Placa1) Then
If strFiltro = "" Then
strFiltro = "Placa='" & Placa1.Column(0) & "'"
Else
strFiltro = strFiltro & " and Placa='" & Placa1.Column(0) & "'"
End If
End If


Obrigado!

https://www.dropbox.com/s/ep1vw3pbvfxdi ... accdb?dl=0

Avatar do usuário
Avelino Sampaio
Mensagens: 1885
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Realizar filtros semelhantes ao Excel

Mensagempor Avelino Sampaio » 04 Mar 2018, 14:23

ismael,

experimente assim:

Código:
If IsNull(Me!TXT_FILTROS) Then Exit Sub
Me.Filter = "CBOPlaca IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
Me.FilterOn = True
Me!TXT_FILTROS = Null
Me!Placa1 = Null
Me!Placa1.SetFocus
DoCmd.OpenReport "Relatório Detalhes Combustível", acViewPreview, , me.filter


Nota: não vi seu projeto.

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

Re: Realizar filtros semelhantes ao Excel

Mensagempor IsmaelSilva » 04 Mar 2018, 14:46

Avelino,

Não consegui fazer funcionar, quando eu gero, pede para informar o parâmetro de placa, creio que isso acontece, pois no meu caso, o filtro não acontece no formulário e sim abre um relatório.

Avatar do usuário
Avelino Sampaio
Mensagens: 1885
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Realizar filtros semelhantes ao Excel

Mensagempor Avelino Sampaio » 04 Mar 2018, 15:08

Ismael,

experimente assim:

Código:
...
If Not IsNull(Placa1) Then
If strFiltro = "" Then
strFiltro = "Placa IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
Else
strFiltro = strFiltro & " and Placa IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
End If
End If
...


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

IsmaelSilva
Mensagens: 21
Registrado em: 04 Jan 2018, 23:07

Re: Realizar filtros semelhantes ao Excel

Mensagempor IsmaelSilva » 04 Mar 2018, 15:29

Avelino, agora sim, funcionou perfeitamente.

Muito obrigado, e pode colocar como resolvido.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Relatórios”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 3 visitantes