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


4 participantes

    [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  alantaru Qua 05 Dez 2018, 10:35

    Bom dia a todos. Preciso da ajuda de vocês!
    Estou criando um formulário que contém uma tabela. Este formulário utiliza várias Caixas de Combinação para filtrar a tabela.
    Com essa tabela já filtrada, o usuário poderá gerar um relatório com ela, usando somente os dados filtrados.

    Eu possuo aqui um exemplo que utiliza duas Caixas de Combinação (sendo que estas devem ser usadas em ordem para que a tabela seja filtrada corretamente).

    Porém meu formulário utiliza 11 Caixas de Combinação, ou seja, 11 filtros! E o usuário não necessariamente irá filtrá-los em uma ordem específica. Eu gostaria de saber se é possível permitir a filtragem em qualquer ordem.

    E, além disso, eu preciso que, à medida em que o usuário vá filtrando determinadas Caixas de Combinação, as caixas restantes sejam atualizadas com apenas dados filtrados anteriormente.


    Segue o link do exemplo que eu consegui:
    mabesi.com/downloads/categorias-arquivos/summary/10-access/61-filtros-em-cascata.html

    [Não são permitidos links externos, colocar desta forma, para baixar copiar link e colar no navegador]

    Aproveitando, tenho outra dúvida também envolvendo este mesmo formulário:
    Além dessa tabela de onde serão extraídos os dados, eu possuo uma segunda tabela onde quero gravar somente os registros filtrados, cada vez que eles forem filtrados.
    É possível, ao clicar no botão de gerar relatório, que o Access grave linha por linha todos os dados filtrados como se fossem novos registros nessa segunda tabela? Como poderia ser feito automaticamente?


    Desde já agradeço, e me coloco à disposição para esclarecimentos.


    Última edição por alantaru em Sex 07 Dez 2018, 07:31, editado 1 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Qua 05 Dez 2018, 12:50

    Há diversos exemplos no repositório de exemplo sobre filtros em cascasta. Compensa dar uma olhada.

    Se não encontrar nada sobre filtrar em cascata independente da ordem, então anexe aqui seu formulário e as tabelas que alimentam as combos para maior eficácia na ajuda.
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  alantaru Qua 05 Dez 2018, 13:16

    Boa tarde.
    Estou anexando aqui meu projeto.
    O formulário em questão é o frmRota. É ele quem filtra através das Caixas de Combinação e gera o relatório dos campos filtrados.

    alantaru.000webhostapp.com/BANCO_DE_DADOS/Filtro_em_cascata_Multiplo.zip

    [Não são permitidos links externos, colocar desta forma, para baixar copiar link e colar no navegador]
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Qua 05 Dez 2018, 13:57

    Só encontrei planilhas em excel. E o arquivo access contendo o formulário?
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  alantaru Qua 05 Dez 2018, 14:21

    Ops, mil perdões.
    Já corrigi o arquivo. Poderia baixar novamente?
    Obrigado!
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Qua 05 Dez 2018, 15:42

    Arquivo em anexo. Confira e estude o que foi feito.

    Obs.: A padronização no nome dos controles ajudou muito.

    Códigos utilizados
    Evento ao receber foco das combos
    Código:
    Me.ActiveControl.RowSource = fncMontaRowSource(Me.ActiveControl.Name)

    Função fncMontaRowSource
    Código:
    Private Function fncMontaRowSource(strComboNome As String) As String

        Dim ctl As Control
        Dim strFiltro As String
        
        For Each ctl In Me.Controls
            If ctl.ControlType = acComboBox Then
                If ctl.Name <> strComboNome And Not IsNull(ctl.Value) Then
                    Select Case ctl.Name
                        Case "cboEmpresa", "cboPlantaInstalada", "cboDeptoAlmox", "cboRua", "cboStatus", "cboModelo", "cboPorcentagemToner2", "cboHorario"
                            strFiltro = strFiltro & fncNomeCampoTab(ctl.Name) & " = '" & ctl.Value & "' And "
                        Case "cboContrato", "cboProtocolo"
                            strFiltro = strFiltro & fncNomeCampoTab(ctl.Name) & " = " & ctl.Value & " And "
                        Case "cboDataEntrega"
                            strFiltro = strFiltro & fncNomeCampoTab(ctl.Name) & " = #" & Format(ctl.Value, "mm/dd/yyyy") & "# And "
                    End Select
                End If
            End If
        Next ctl
        
        If strFiltro <> "" Then strFiltro = "where " & Left(strFiltro, Len(strFiltro) - 4)
        
        fncMontaRowSource = "select distinct " & fncNomeCampoTab(strComboNome) & " from tabRota " & strFiltro & "order by " & fncNomeCampoTab(strComboNome) & ";"

    End Function

    Função fncNomeCampoTab
    Código:
    Private Function fncNomeCampoTab(strCombo) As String

        If strCombo = "cboPorcentagemToner2" Then
            fncNomeCampoTab = "VidaUtilToner"
        Else
            fncNomeCampoTab = Mid(strCombo, 4)
        End If

    End Function
    Anexos
    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação AttachmentFiltro_em_cascata_Multiplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (381 Kb) Baixado 182 vez(es)
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  alantaru Qua 05 Dez 2018, 21:04

    Amigo, funcionou perfeitamente!
    Muito obrigado pela ajuda! Very Happy

    Sobre minha segunda dúvida envolvendo este formulário,
    É possível, ao clicar no botão de Gerar Rota, que o Access grave linha por linha todos os dados filtrados como se fossem novos registros na tabela tabEntregas?
    (Espero não estar pedindo demais para um único tópico. caso seja necessário, dividirei em um segundo tópico, porém, como se trata do mesmo formulário, acho que talvez não tenha problemas.)
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  Assis Qua 05 Dez 2018, 22:16

    Ivan

    Utilizei o seu ótimo exemplo, se conseguir só queria uma alteração.

    Como mostro na imagem, quando selecionar "Cama" mostrar só mesmo o tipo "Cama" e não o tipo "Jogo de cama".

    Segue o meu exemplo

    Obrigado e

    Parabéns pelo filtro

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Sem_ty70


    .................................................................................
    *** Só sei que nada sei ***
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  alantaru Qua 05 Dez 2018, 22:46

    Sim também tenho essa dúvida!
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Qua 05 Dez 2018, 22:56

    Observe que no procedimento FiltraSubform é usado o operador like junto com asteriscos, isto é, filtra campos que contenham um determinado texto
    Código:
    If Nz(Me.cboTipo, "") <> "" Then
        strWhere = strWhere & "[Tipo] LIKE '*" & Me.cboTipo & "*' AND "
    End If

    Para sanar isto, basta usar o operador igual  para buscar valores exatos (troque like por = e remova os asteriscos existentes), exemplo resolvendo o caso acima:
    Código:
    If Nz(Me.cboTipo, "") <> "" Then
       strWhere = strWhere & "[Tipo] = '" & Me.cboTipo & "' AND "
    End If

    Obs.: Sou o responsável só pela lista nas combos, mas mesmo assim obrigado.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  Assis Qui 06 Dez 2018, 09:06

    Bom dia

    Perfeito Ivan

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Qui 06 Dez 2018, 09:52

    Obrigado pelo retorno. O fórum agradece. Sucesso a vocês.
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Dúvida

    Mensagem  ORLANDOCBM Dom 13 Out 2019, 14:14

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Aaaaa10


    Ivan,

    Vc é muito desenrolado mesmo!!!

    Me tira uma dúvida: o exemplo que foi postado por nosso colega é quase idêntico ao meu. A diferença é que os meus registros que são mostrados na parte de baixo do FORMULÁRIO PRINCIPAL ("GERALFILTRO") estão configurados assim:

    Criei um SUBFORMULÁRIO ("SUBGFLISTA") no meu FORMULÁRIO "GERALFILTRO", e o objeto de origem desse subformulário é outro formulário denominado "GF_LISTA".

    Portanto, gostaria de saber como os códigos que vc descreveu deveriam ficar para o meu formulário.

    Ressalto que configurei desta forma: formrprincipal-----subform----formgf_lista para poder ter a condição de visualizar todas as colunas do subformulario (barras de rolagem vertical e horizontal) sem que essas barras fiquem no formprincipal, pois aí as combos para filtros não ficariam todas dispostas na tela (eu teria que ficar a todo tempo usando a barra de rolagem horizontal ao tentar realizar filtros e percorrer pelas colunas mais à direita da "lista".

    Segue imagem em anexo.

    Agradeço demais a atenção que vc puder dar.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Seg 14 Out 2019, 21:31

    Orlando, boa noite...

    A ajuda prestada no tópico só foi eficaz e elegante graças ao acesso ao arquivo disponibilizado. Sem o anexo do seu projeto não conseguirei ajudá-lo. Entendo que esteja protegendo informações, mas sem acesso ao projeto é muito complicado ajudar.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Tranquilo! Segue arquivo em anexo

    Mensagem  ORLANDOCBM Seg 14 Out 2019, 21:52

    O problema está no formulário GERALFILTRO.

    Muito obrigado pela atenção!
    Anexos
    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação AttachmentSISTEMA DE IDENTIFICAÇÃO MILITAR 1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.9 Mb) Baixado 53 vez(es)
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Ressalva

    Mensagem  ORLANDOCBM Seg 14 Out 2019, 22:02

    Ivan,

    O campo "idade" no subformulário é um campo calculado, logo, nem sei se tem como aplicar filtro nele, ou se será necessário criar essa coluna (idade) na tabela, para poder receber os valores e assim poder filtrar;

    A maioria das combobox estão sem a lista das opções, mas não se preocupe com isso, basta vc me dar uma luz dos códigos usados nos filtros.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Qui 17 Out 2019, 00:25

    No formulario GF_LISTA use como fonte de registro a string abaixo
    Código:
    SELECT TAB_CADMIL.*, CalculaIdade([DATA NASC]) AS Idade FROM TAB_CADMIL;

    No formulário GERALFILTRO, crie a função
    Código:
    Private Sub fncFiltroFiltre()

        Dim ctl As Control
        Dim strFiltro As String
        
        For Each ctl In Me.Controls
            If ctl.ControlType = acComboBox Then
                If Not IsNull(ctl.Value) Then
                    Select Case ctl.Name
                    
                        'campos tipo texto entre aspas
                        'campos tipo data entre cerquilhas
                    
                        Case "cbosituação"
                            strFiltro = strFiltro & "[SITUAÇÃO] = """ & Me!CBOSITUAÇÃO & """ And "
                            
                        Case "cboidade"
                            strFiltro = strFiltro & "[Idade] = " & Me!cboidade & " And "
                            
                        '...
                        '...
                        '...
                            
                        Case "cbopatente"
                            strFiltro = strFiltro & "[PATENTE] = """ & Me!cbopatente & """ And "
                            
                    End Select
                End If
            End If
        Next ctl
        
        Me!SUBGFLISTA.Form.Filter = ""
        Me!SUBGFLISTA.Form.FilterOn = False
        
        If strFiltro <> "" Then
            strFiltro = Left(strFiltro, Len(strFiltro) - 5)
            Me!SUBGFLISTA.Form.Filter = strFiltro
            Me!SUBGFLISTA.Form.FilterOn = True
        End If

    End Sub

    No evento após atualizar das combobox faça a chamada da função
    Código:
    Call fncFiltroFiltre

    Ao clicar nos botões "Limpar" garanta que o código limpe a combobox relacionada e também garanta uma linha para a chamada da função novamente
    Código:
    Me.COMBOTALTALTAL.SetFocus
    COMBOTALTALTAL.Text = Empty
    Call fncFiltroFiltre

    Aconselho que no campo TXTREGISTROS use como fonte de controle a string abaixo
    Código:
    =SeImed(IsError([SUBGFLISTA]![TXTREGISTROS]);0;[SUBGFLISTA]![TXTREGISTROS])

    Bons estudos...


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Agradecimento

    Mensagem  ORLANDOCBM Sáb 19 Out 2019, 13:01

    Ivan,

    Inicialmente muitíssimo obrigado! Sua dica caiu como uma luva na mão!!! Agora o sistema está funcionando como eu queria.

    Me tira uma dúvida: o SUBFORMULÁRIO (SUBGFLISTA) é programado para ordenar os registros pelo CÓD_PATENTE do militar, assim, a sequência fica dessa forma:

    CEL
    TCEL
    MAJ
    CAP
    .
    .
    .

    No entanto, como temos a opção tb de classificar, por exemplo, o NOME COMPLETO, de A a Z (através do clicar c/ direito em cima da coluna NOME COMPLETO), ocorre que o SUBGFLISTA perde a ordem pela patente, sem contar que não há opção no clicar c/ direito de remover a classificação, no caso feita pelo NOME COMPLETO.

    Como existe um botão (REMOVER FILTRO) do FORMULÁRIO PRINCIPAL (GERALFILTRO), estou pensando em incluir também o código para ordenar novamente o SUBGFLISTA pelo CÓD_PATENTE, ou então remover todas as classificações e ordenar pelo CÓD_PATENTE, mas já quebrei a cabeça aqui e não sei como seria esse código.

    Forte abraço meu amigo! Demorei a responder pq passei todos esses dias a trabalhar na ocorrência de desabamento, de grande repercussão aqui em Fortaleza.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Sáb 19 Out 2019, 22:24

    Código:
    FormPrincipal.ControleSubForm.Form.OrderBy = "CampoFulano ASC, CampoSicrano DESC, CampoBeltrano ASC"
    FormPrincipal.ControleSubForm.Form.OrderByOn = True


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Agradecimento

    Mensagem  ORLANDOCBM Dom 20 Out 2019, 20:37

    Ivan,

    Amigo. Muito obrigado!!! Deu certo!

    Os códigos ficaram assim:

    Me!SUBGFLISTA.Form.OrderBy = "[CÓD PAT] ASC, [NOME COMPLETO] ASC"
    Me!SUBGFLISTA.Form.OrderByOn = True
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Dom 20 Out 2019, 20:45

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Dúvida

    Mensagem  ORLANDOCBM Qua 06 Nov 2019, 19:44

    Ivan,

    Ainda sobre este mesmo assunto aqui discutido, se vc puder me ajudar nessas pendências, te agradeço muito:

    1) Pensei em implementar uma forma de filtrar a IDADE, ALTURA e PESO não apenas com os valores IGUAIS aos escolhidos nas suas respectivas COMBOBOX, mas de criar combobox vizinhas a estas, onde me dê a opção de eu escolher: É IGUAL A, É DIFERENTE DE, É MAIOR QUE, É MENOR QUE. Logo, como ficaria implementada esta mudança no CÓDIGO QUE VC ME INFORMOU NA FUNÇÃO "fncFiltroFiltre"?

    2) Criei uma txtbox nomeada de TXTPESQUISA, com o objetivo de localizar um militar, onde seria feito o filtro tanto pelo NOME COMPLETO, qto pela MATRÍCULA ou ainda pelo CPF. Para isto, mudei a FONTE DE REGISTRO do formulário GERAL FILTRO, definindo esta consulta como fonte:

    SELECT TAB_CADMIL.*, [Nº DO RE-CBM] & ' ' & [NOME COMPLETO] & ' ' & [CPF] AS Expr1 FROM TAB_CADMIL;

    Logo, nesta consulta, como vc vê, foi criado o campo Expr1: [Nº DO RE-CBM] & ' ' & [NOME COMPLETO] & ' ' & [CPF]

    Da mesma forma das COMBOBOX, queria que esta TXTBOX tb estivesse inserida na FUNÇÃO "fncFiltroFiltre", para isto, fiz os seguintes ajustes no código:

    Private Sub fncFiltroFiltre()

    Dim ctl As Control
    Dim strFiltro As String

    For Each ctl In Me.Controls
    If ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox Then
    If Not IsNull(ctl.Value) Then
    Select Case ctl.Name

    'campos tipo texto entre aspas
    'campos tipo data entre cerquilhas (#)

    Case "cbosituação"
    strFiltro = strFiltro & "[SITUAÇÃO] = """ & Me!CBOSITUAÇÃO & """ And "

    Case "cboidade"
    strFiltro = strFiltro & "[Idade] = """ & Me!cboidade & """ And "

    .
    .
    .

    Case "TXTPESQUISA"
    strFiltro = strFiltro & "[Expr1] = """ & Me!TXTPESQUISA & """ And """


    End Select
    End If
    End If
    Next ctl

    Me!SUBGFLISTA.Form.filter = ""
    Me!SUBGFLISTA.Form.FilterOn = False

    If strFiltro <> "" Then
    strFiltro = Left(strFiltro, Len(strFiltro) - 5)
    Me!SUBGFLISTA.Form.filter = strFiltro
    Me!SUBGFLISTA.Form.FilterOn = True
    End If

    End Sub



    Não obtive êxito pq na prática o código teria que "DIZER" isto:

    Case "TXTPESQUISA"
    'strFiltro = strFiltro & "[Expr1] DEVE CONTER """ & Me!TXTPESQUISA & """ And """

    Ou então:

    Case "TXTPESQUISA"
    'strFiltro = strFiltro & "[NOME COMPLETO] Or [Nº DO RE-CBM] Or [CPF] = """ & Me!TXTPESQUISA & """ And """


    Mas não sei como fazer isto funcionar em VBA.

    Ahhh. E diferente das COMBOX, esta TXTPESQUISA deve ir filtrando à medida que for sendo digitado, e não APÓS ATUALIZAR.

    Pode me dar uma força?


    Só uma dica:

    tentei usar o mesmo esquema que usei no FORMULÁRIO "PESQUISA DE MILITAR", só que a digitação na TXTPESQUISA fica embaralhando as letras e umas se sobrepondo às outras qdo digitamos um pouco mais rápido. Usei o artifício no critério da consulta de inserir o "[Text]" no final do critério, mas mesmo assim não ajudou: Como "*" & [Forms]![GERALFILTRO].[TXTPESQUISA].[Text] & "*"

    Portanto, queria ver se tinha como fazer este filtro via VBA, dentro da função "fncFiltroFiltre"

    Me avisa, se precisar postar o arquivo de novo!

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Exempl10





    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Complemento

    Mensagem  ORLANDOCBM Qui 07 Nov 2019, 12:02

    Ivan,

    Consegui implementar o código fora da função "fncFiltroFiltre"

    Private Sub cboidade_AfterUpdate()

    Dim parteNome As String
    Dim tipoFiltro As String

    parteNome = cboidade.Text
    tipoFiltro = cboSELidade

    If parteNome <> "" Then
        Select Case tipoFiltro
           Case "É diferente de"
               Me.SUBGFLISTA.Form.filter = "IDADE Not Like '*" & parteNome & "*'"
               Me.SUBGFLISTA.Form.FilterOn = True

    '...
    '...

        End Select
    Else
        Me.SUBGFLISTA.Form.FilterOn = False
       
    End If
    End Sub



    Porém este filtro não funciona bem em conjunto com a função "fncFiltroFiltre"

    E tb não sei como escrever o código para  "É maior que" e "É menor que"
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Qui 07 Nov 2019, 18:59

    Igual
    Código:
    CampoFulano = CampoSicrano
    ou
    Código:
    CampoFulano Like CampoSicrano

    Diferente
    Código:
    CampoFulano <> CampoSicrano
    ou
    Código:
    CampoFulano Not Like CampoSicrano

    É maior que
    Código:
    CampoFulano > CampoSicrano

    É maior igual que
    Código:
    CampoFulano >= CampoSicrano

    É menor que
    Código:
    CampoFulano < CampoSicrano

    É menor igual que
    Código:
    CampoFulano <= CampoSicrano

    As sintaxes são essas.

    -------------------------------------------------------------------------------

    Na função fncFiltroFiltre

    Código:
    Private Sub fncFiltroFiltre()

        Dim ctl As Control
        Dim strFiltro As String
        Dim strOperador As String
       
        For Each ctl In Me.Controls
            If ctl.ControlType = acComboBox Then
                If Not IsNull(ctl.Value) Then
                    Select Case ctl.Name
                   
                        'campos tipo texto entre aspas
                        'campos tipo data entre cerquilhas
                   
                        Case "cbosituação"
                            strFiltro = strFiltro & "[SITUAÇÃO] = """ & Me!CBOSITUAÇÃO & """ And "
                           
                        Case "cboidade"

                            Select Case CampoReferenciaOperaçõesParaIdade
                                Case "", "É igual a": strOperador = "=" 'poderia ser "Like"
                                Case "É diferente de": strOperador = "<>" 'poderia ser "Not Like"
                                Case "É maior que": strOperador = ">"
                                Case "É maior igual que": strOperador = ">="
                                Case "É menor que": strOperador = "<"
                                Case "É menor igual que": strOperador = "<="
                            End Select

                            strFiltro = strFiltro & "[Idade] " & strOperador & " " & Me!cboidade & " And "
                           
                        '...
                        '...
                        '...
                           
                        Case "cbopatente"
                            strFiltro = strFiltro & "[PATENTE] = """ & Me!cbopatente & """ And "
                           
                    End Select
                End If
            End If
        Next ctl
       
        Me!SUBGFLISTA.Form.Filter = ""
        Me!SUBGFLISTA.Form.FilterOn = False
       
        If strFiltro <> "" Then
            strFiltro = Left(strFiltro, Len(strFiltro) - 5)
            Me!SUBGFLISTA.Form.Filter = strFiltro
            Me!SUBGFLISTA.Form.FilterOn = True
        End If

    End Sub

    Não tem segredo.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Retorno

    Mensagem  ORLANDOCBM Sáb 09 Nov 2019, 16:21

    Prezado Ivan,

    Sua dica foi fantástica. Era isso mesmo que eu estava precisando. Mas me tira umas dúvidas:

    1a DÚVIDA:

    Vou citar como exemplo as combobox relativas ao filtro do PESO. O código ficou assim:

    Case "cbopeso"
                       Select Case cboSELpeso
                                Case "É diferente de": strOperador = "<>" 'poderia ser "Not Like"
                                Case "", "É igual a": strOperador = "=" 'poderia ser "Like"
                                Case "É maior que": strOperador = ">"
                                Case "É menor que": strOperador = "<"
                             End Select
                                strFiltro = strFiltro & "[PESO] " & strOperador & " " & Me!cbopeso & " And "


    Nesta linha:

    Case "", "É igual a": strOperador = "=" 'poderia ser "Like"  

    eu entendo que se a combobox "cboSELpeso" estiver vazia, o strOperador tb será "="

    Não é isso?

    Porém qdo escolho apenas o peso, deixando portanto a "cboSELpeso" vazia, dá mensagem de erro dizendo que o operador está faltando ('[PESO] 45'), ou seja, não está entrando o "="



    2a DÚVIDA:

    Gostaria de poder filtrar tb os registros que contém, por exemplo, o PESO EM BRANCO. O filtro ficaria assim:

    É igual a  ----------- Em branco             ou    É igual a ---------------- Vazio

    Até agora não encontrei uma maneira de poder filtrar (PESO, IDADE OU ALTURA) POR VALORES EM BRANCO (A idéia por trás disso é poder relacionar todos os campos que tenham, por exemplo, o PESO faltando (EM BRANCO) e poder editar, incluindo todos os valores, pois imagina a gente ter que ir passando todos os 1.809 registros para ir incluindo o PESO de quem não tem ainda... ficaria muito trabalhoso).



    3a DÚVIDA:

    Na txtbox que tem na parte superior do formulário em questão, onde a gente pode pesquisar o militar pelo nome, matrícula ou CPF. Queria que essa TXTBOX tb tivesse inserida na função de filtro que vc implementou.

    Sobre isto, sei que, diferentemente das txtbox, o evento deverá ocorrer AO ALTERAR, ao invés de APÓS ATUALIZAR.

    Creio que a função filtro, nesta parte, deva ser algo que traduza esta intenção:

    Case "TXTPESQUISA"
                           strFiltro = strFiltro & "[NOME COMPLETO] Or [Nº DO RE-CBM] Or [CPF] = """ & Me!TXTPESQUISA & """ And "

    Ou então:

                          strFiltro = strFiltro & "[Expr1] DEVE CONTER """ & Me!TXTPESQUISA & """ And "

    Expr1 na consulta é a concatenação do [NOME COMPLETO] com [Nº DO RE-CBM], que é matrícula do militar, com o [CPF]


    Mas não faço ideia de como escrever essa parte do código.

    Vou te mandar o BD NOVAMENTE.
    Anexos
    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação AttachmentSISTEMA DE IDENTIFICAÇÃO MILITAR2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.5 Mb) Baixado 17 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Sáb 09 Nov 2019, 21:48

    Função fncFiltroFiltre

    Código:
    Dim ctl As Control
        Dim strFiltro As String
        Dim strOperador As String
         
        For Each ctl In Me.Controls
       
            If ctl.Name = "TXTPESQUISA" Then
                strFiltro = strFiltro & "([NOME COMPLETO] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"" or "
                strFiltro = strFiltro & "[Nº DO RE-CBM] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"" or "
                strFiltro = strFiltro & "[CPF] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"") And "
       
            ElseIf ctl.ControlType = acComboBox Then
                If Not IsNull(ctl.Value) Then
                    Select Case ctl.Name
                   
                        'campos tipo texto entre aspas
                        'campos tipo data entre cerquilhas (#)
                   
                        ...
                           
                        Case "cboidade"
                        Select Case Nz(cboSELidade, "")
                                Case "É diferente de": strOperador = "<>" 'poderia ser "Not Like"
                                Case "", "É igual a": strOperador = "=" 'poderia ser "Like"
                                Case "É maior que": strOperador = ">"
                                'Case "É maior ou igual a": strOperador = ">="
                                Case "É menor que": strOperador = "<"
                                'Case "É menor ou igual a": strOperador = "<="
                              End Select
                                strFiltro = strFiltro & "[Idade] " & strOperador & " """ & Me!cboidade & """ And "

                        ...
                                                                                 
                    End Select
                End If
            End If
        Next ctl
       
        Me!SUBGFLISTA.Form.filter = ""
        Me!SUBGFLISTA.Form.FilterOn = False
       
        If strFiltro <> "" Then
            strFiltro = Left(strFiltro, Len(strFiltro) - 5)
            Me!SUBGFLISTA.Form.filter = strFiltro
            Me!SUBGFLISTA.Form.FilterOn = True
        End If

    Evento Ao alterar do TXTPESQUISA

    Código:
    Call fncFiltroFiltre
    Me!SUBGFLISTA.Requery

    Isso resolve a primeira e a terceira dúvida.

    Para a segunda, abra um novo tópico e deixemos que outro colega também ajude.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    ORLANDOCBM
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Retorno

    Mensagem  ORLANDOCBM Sáb 16 Nov 2019, 16:03

    Tranquilo Ivan. Muito obrigado!

    Fiz as modificações sugeridas, no entanto estão ocorrendo esses 2 problemas:


    1) O filtro na TXTBOX está OK, mas quando digito, por exemplo, o nome de um militar, ou matrícula, ou CPF inexistente no SUBFORMULÁRIO, os objetos mostrados pelas SETAS AMARELAS na FIGURA ABAIXO (que são programados para ficar na cor rosa em caso do filtro estar ATIVO) não ficam. Até ficam, mas só enquanto se vai digitando e o filtro vai ocorrendo e encontrando resultados existentes, depois que o termo digitado passa a não existir no SUBFORMULÁRIO, aí os objetos mostrados pelas SETAS AMARELAS voltam a ficar na cor branca (indicando que o FILTRO está inativo).

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação 16-11-12


    Veja que neste caso abaixo numa versão anterior do meu sistema, qdo mando filtrar uma combinação de SITUAÇÃO + SUBSITUAÇÃO em que não há resultados no SUBFORMULÁRIO, os objetos mostrados pelas SETAS AMARELAS permanecem na COR ROSA, passando a ideia de que o FILTRO ESTÁ ATIVO e o resultado da filtragem foi "zero". Pois bem, o mesmo deveria ocorrer no filtro da TXTBOX.

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação 16-11-13





    2) Após as alterações sugeridas por último, passei a não conseguir usar os filtros das COMBOBOX. Dá msg de erro de execução '2185':

    "Vc não pode fazer referência a uma propriedade ou método de controle, a menos que o controle tenha o foco.


    O código ficou assim:



    Private Sub fncFiltroFiltre()

       Dim ctl As Control
       Dim strFiltro As String
       Dim strOperador As String
         
       For Each ctl In Me.Controls
       
               If ctl.Name = "TXTPESQUISA" Then
                             
                         '(AQUI NÃO DEVERIA TER UM "SELECT CASE...?"
                         
                           strFiltro = strFiltro & "([NOME COMPLETO] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"" or "
                           strFiltro = strFiltro & "[Nº DO RE-CBM] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"" or "
                           strFiltro = strFiltro & "[CPF] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"") And "
                           
           

       ElseIf ctl.ControlType = acComboBox Then 'Or ctl.ControlType = acTextBox Then
               If Not IsNull(ctl.Value) Then
                   Select Case ctl.Name
                   
                       'campos tipo texto entre aspas
                       'campos tipo data entre cerquilhas (#)
                   
                       Case "cbosituação"
                           strFiltro = strFiltro & "[SITUAÇÃO] = """ & Me!CBOSITUAÇÃO & """ And "
                                             
                       Case "cbosubsituação"
                           strFiltro = strFiltro & "[SUBSITUAÇÃO] = """ & Me!CBOSUBSITUAÇÃO & """ And "
                           
                       Case "cboagregado"
                           strFiltro = strFiltro & "[TEXTO AGREGADO] = """ & Me!cboagregado & """ And "
                           
                       Case "cbopatente"
                           strFiltro = strFiltro & "[PATENTE] = """ & Me!cbopatente & """ And "
                           
                       Case "cboárea"
                           strFiltro = strFiltro & "[ÁREA] = """ & Me!cboárea & """ And "
                           
                       Case "cbosexo"
                           strFiltro = strFiltro & "[SEXO] = """ & Me!cbosexo & """ And "
                           
                       Case "cboidade"
                       Select Case cboSELidade
                                Case "É diferente de": strOperador = "<>" 'poderia ser "Not Like"
                                Case "", "É igual a": strOperador = "=" 'poderia ser "Like"
                                Case "É maior que": strOperador = ">"
                                'Case "É maior ou igual a": strOperador = ">="
                                Case "É menor que": strOperador = "<"
                                'Case "É menor ou igual a": strOperador = "<="
                             End Select
                                strFiltro = strFiltro & "[Idade] " & strOperador & " """ & Me!cboidade & """ And "
                               
                       Case "cboaltura"
                       Select Case cboSELaltura
                                Case "É diferente de": strOperador = "<>" 'poderia ser "Not Like"
                                Case "", "É igual a": strOperador = "=" 'poderia ser "Like"
                                Case "É maior que": strOperador = ">"
                                'Case "É maior ou igual a": strOperador = ">="
                                Case "É menor que": strOperador = "<"
                                'Case "É menor ou igual a": strOperador = "<="
                             End Select
                                strFiltro = strFiltro & "[ALTURA (m)] " & strOperador & " " & Me!cboaltura & " And "
                                       
                       Case "cbopeso"
                       Select Case cboSELpeso
                                Case "É diferente de": strOperador = "<>" 'poderia ser "Not Like"
                                Case "", "É igual a": strOperador = "=" 'poderia ser "Like"
                                Case " ": strOperador = "="
                                Case "É maior que": strOperador = ">"
                                Case "É menor que": strOperador = "<"
                             End Select
                                strFiltro = strFiltro & "[PESO] " & strOperador & " " & Me!cbopeso & " And "
                       
                                             
                       Case "cboimc"
                           strFiltro = strFiltro & "[TEXTO IMC] = """ & Me!cboimc & """ And "
                           
                       Case "cbotsfrh"
                           strFiltro = strFiltro & "[TS - FRh] = """ & Me!cbotsfrh & """ And "
                           
                       Case "cboalérgico"
                           strFiltro = strFiltro & "[TEXTO ALÉRGICO] = """ & Me!cboalérgico & """ And "
                           
                       Case "cbocútis"
                           strFiltro = strFiltro & "[CÚTIS] = """ & Me!cbocútis & """ And "
                           
                       Case "cbocabelos"
                           strFiltro = strFiltro & "[CABELOS] = """ & Me!cbocabelos & """ And "
                           
                       Case "cboolhos"
                           strFiltro = strFiltro & "[OLHOS] = """ & Me!cboolhos & """ And "
                           
                       Case "cbonaturalidade"
                           strFiltro = strFiltro & "[NATURALIDADE] = """ & Me!cbonaturalidade & """ And "
                           
                       Case "cbobairro"
                           strFiltro = strFiltro & "[BAIRRO] = """ & Me!cbobairro & """ And "
                           
                       Case "cbocidade"
                           strFiltro = strFiltro & "[CIDADE] = """ & Me!cbocidade & """ And "
                           
                       Case "cbolotação"
                           strFiltro = strFiltro & "[OBM/SEÇAO] = """ & Me!cbolotação & """ And "
                           
                       Case "cbo2avia"
                           strFiltro = strFiltro & "[TEXTO 2ª VIA] = """ & Me!cbo2avia & """ And "
                           
                                                                                                                     
                   End Select
               End If
           End If
       
       Next ctl
       
       Me!SUBGFLISTA.Form.filter = ""
       Me!SUBGFLISTA.Form.FilterOn = False
       
       If strFiltro <> "" Then
           strFiltro = Left(strFiltro, Len(strFiltro) - 5)
           Me!SUBGFLISTA.Form.filter = strFiltro
           Me!SUBGFLISTA.Form.FilterOn = True
       End If

    End Sub


    Envio o BD!!!
    Anexos
    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação AttachmentSISTEMA DE IDENTIFICAÇÃO MILITAR 2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.5 Mb) Baixado 41 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  DamascenoJr. Sáb 16 Nov 2019, 17:08

    Código:
    ...
    If ctl.Name = "TXTPESQUISA" Then
                            
                         if ctl.Name = screen.activecontrol.name then
                    
                           strFiltro = strFiltro & "([NOME COMPLETO] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"" or "
                           strFiltro = strFiltro & "[Nº DO RE-CBM] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"" or "
                           strFiltro = strFiltro & "[CPF] like ""*" & Nz(Me!TXTPESQUISA.Text, "") & "*"") And "
                          
                         else

                           strFiltro = strFiltro & "([NOME COMPLETO] like ""*" & Nz(Me!TXTPESQUISA, "") & "*"" or "
                           strFiltro = strFiltro & "[Nº DO RE-CBM] like ""*" & Nz(Me!TXTPESQUISA, "") & "*"" or "
                           strFiltro = strFiltro & "[CPF] like ""*" & Nz(Me!TXTPESQUISA, "") & "*"") And "

                         end if

       ElseIf ctl.ControlType = acComboBox Then 'Or ctl.ControlType = acTextBox Then
    ...

    Para demais problemas, abra um novo tópico


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado


    filtros - [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação Empty Re: [Resolvido]Filtros Múltiplos em Cascata Utilizando Várias Caixas de Combinação

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Dom 24 Nov 2024, 11:58