Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Filtrar dados com duas caixas multiselects

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
lpeixoto92
Colaborador
Colaborador
Mensagens: 11
Registrado em: Sex Jun 30, 2017 8:48 pm

Filtrar dados com duas caixas multiselects

Mensagem por lpeixoto92 »

Olá pessoal, gostaria de uma ajuda com a parte de filtros/pesquisa do modelo de cadastro.

Tudo está funcionando perfeitamente bem no meu modelo de cadastro, contudo gostaria de usar 2 caixas multiseletcs (igual do campo "cidade" já existente, onde você vai selecionando várias opções) para aplicar o filtro sobre filtro, porém não está funcionando simultaneamente.

No código, a parte responsável por aplicar o filtro da listbox + os demais campos é o seguinte:


...

Código: Selecionar todos

For i = 1 To lstTIPO_SITUACAO.ListCount
        'verifica se o item está selecionado
        If lstTIPO_SITUACAO.Selected(i - 1) Then
            'Monta a cláusula WHERE com OR
            Debug.Print lstTIPO_SITUACAO.List(i - 1) & "selecionado"
            If sqlWhere <> vbNullString Then
                sqlWhere = sqlWhere & "or"
            End If
            sqlWhere = sqlWhere & " UCASE(TIPO_SITUAÇÃO) LIKE UCASE('%" & Trim(lstTIPO_SITUACAO.List(i - 1)) & "%')"
        End If
    Next
    
    
    Call MontaClausulaWhere(txtUF_FILTRO.Name, "UF", sqlWhere)
    Call MontaClausulaWhere(txtRESUMO_DA_SITUAÇÃO_FILTRO.Name, "RESUMO_DA_SITUAÇÃO", sqlWhere)
    Call MontaClausulaWhere(txtUNIDADE_FILTRO.Name, "UNIDADE", sqlWhere)

....
Porém ao repetir o mesmo laço "for" para uma outra listbox multiselect, os 2 filtros não funcionam entre si, apenas individualmente. Alguém teria um modelo de exemplo onde estão trabalhando 2 multiselects ao mesmo tempo?

Desde já agradeço a todos!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder