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]Filtrar Tabela Marcando mais de uma opção por ComboBox

    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 12/12/2018, 11:18

    Bom dia!
    Possuo um formulário frmRota (inclusive foram vocês que me ajudaram a montá-lo). Neste formulário existe uma tabela que é filtrada por vários ComboBox. Até aí está funcionando perfeitamente, porém muitas vezes eu preciso selecionar mais de um campo por ComboBox e não estou conseguindo achar nenhuma opção que permita selecionar várias opções. É possível?
    Desde já obrigado!


    Segue link do projeto:
    http://alantaru.000webhostapp.com/BANCO_DE_DADOS/MAIS_DE_UM_CAMPO.zip


    Última edição por alantaru em 17/12/2018, 09:12, editado 2 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 856
    Registrado : 13/12/2016

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  Alexandre Fim em 12/12/2018, 11:39

    Bom dia Alan,

    Por gentileza, especifique qual combo deseja selecionar ais de um item.

    GRato
    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 12/12/2018, 11:51

    No formulário frmRota, todos os combos.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 856
    Registrado : 13/12/2016

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  Alexandre Fim em 12/12/2018, 12:08

    ok...
    vou verificar
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 856
    Registrado : 13/12/2016

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  Alexandre Fim em 12/12/2018, 12:15

    Alan,

    Pra que as caixas de combinação apareçam com checkboxes para selecionar 1 ou mais itens, é necessário criar tabela com um campo que tenha tipo de dados do Assistente de pesquisa. Insira alguns valores e marque a caixa "Permitir vários valores". Isso configura um campo com vários valores.

    Boa sorte
    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 12/12/2018, 12:17

    Desculpe, não entendi. Embarassed
    Como faço isso?
    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 13/12/2018, 09:29

    alguém teria algum exemplo ou link de algo parecido? Sou inexperiente no Access, não estou conseguindo encontrar.
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1086
    Registrado : 22/11/2016

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  IvanJr. em 13/12/2018, 12:29

    Veja
    Anexos
    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (25 Kb) Baixado 26 vez(es)
    avatar
    JIR
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  JIR em 13/12/2018, 16:45

    Olá Boa Tarde,

    desculpem a minha intromissão

    aqui fica mais um exemplo, em cada comb pode selecionar  quantos item's necessitar e na parte inferior irá aparecer cada item selecionado que mostrará na lista


    JSilva
    Anexos
    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox AttachmentFiltroMultiplaSelecao.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (275 Kb) Baixado 21 vez(es)
    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 13/12/2018, 19:05

    IvanJr.
    Seu modelo é exatamente o que eu preciso, só tem um porém:
    No meu código, a Caixa de Combinação executa o seguinte código ao receber foco:

    Código:
    Private Sub cboEmpresa_GotFocus()
        Me.ActiveControl.RowSource = fncMontaRowSource(Me.ActiveControl.Name)
    End Sub

    Que leva para esta função:
    Código:
    Private Function fncMontaRowSource(strComboNome As String) As String
        Dim strFiltro As String
        Dim ctl As Control
       
        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) - 5) & " "
       
        fncMontaRowSource = "select distinct " & fncNomeCampoTab(strComboNome) & " from tabRota " & strFiltro & "order by " & fncNomeCampoTab(strComboNome) & ";"

    End Function

    Essa função faz com que os dados apareçam um por um na Caixa de Combinação.
    Para permitir aquele checkbox com múltiplas escolhas, eu precisaria colocar item por item na Caixa de Combinação separado por ponto e vírgula na propriedade "Origem da linha", estou certo? É isso que não estou conseguindo fazer.

    No seu exemplo, a Caixa de Combinação "Categoria" está assim:
    Origem da Linha: VERMELHO;AZUL;ROXO;AMARELO;PRETO;BRANCO
    Tipo de Origem da Linha: Lista de valores


    Nessa Origem da Linha que eu queria colocar os valores.
    Minhas Caixas de Combinação no frmRota estão assim:
    Origem da Linha: (vazio)
    Tipo de Origem da Linha: Tabela/Consulta


    Espero ter explicado bem.
    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 15/12/2018, 08:43

    Acho que compliquei a explicação acima.
    Resumindo: os combos do meu formulário frmRota filtram os itens e os exibe em forma de lista para o usuário escolher apenas um.
    Eu queria saber como permitir que o usuário possa escolher mais de um item dentro desses combos (já que o combo esta filtrando esses itens por meio de codigo)
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1086
    Registrado : 22/11/2016

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  IvanJr. em 15/12/2018, 21:54

    Não consigo pensar em outra coisa senão indicar que refaça seu formulário trocando comboboxes por listboxes onde nelas seja permitido múltiplas seleções. Talvez outros colegas tenham outras dicas.


    .................................................................................
    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.
    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 15/12/2018, 23:12

    Também pensei nessa opção, mas como seria possível popular os listboxes e usá-los para filtrar a tabela? Tem jeito? Pensei que só se podia fazer isso com comboboxes.
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1086
    Registrado : 22/11/2016

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  IvanJr. em 16/12/2018, 02:12

    Um dos mandamentos de python diz que "Simples é melhor do que complexo". Não vejo porque não estender também para MS Access/VBA

    Para o que pretendes, talvez o melhor mesmo seja usar o recurso nativo do Access. Exclua suas comboboxes e use seu subformulário no modo folha de dados que tudo fica resolvido.
    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Qui10


    .................................................................................
    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.
    alantaru
    alantaru
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  alantaru em 16/12/2018, 20:19

    OK, vou fazer isso.
    Muito obrigado pela ajuda! Marquei como respondido.


    Última edição por Alexandre Neves em 16/12/2018, 20:42, editado 1 vez(es) (Razão : Título alterado: de '[RESPONDIDO]Filtrar Tabela Marcando mais de uma opção por ComboBox' para 'Filtrar Tabela Marcando mais de uma opção por ComboBox')
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7433
    Registrado : 05/11/2009

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  Alexandre Neves em 16/12/2018, 21:00

    Boa noite,
    Não altere o título
    Par dar por resolvido, prima o botão "Resolvido" do formulário do fórum


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado

    [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox Empty Re: [Resolvido]Filtrar Tabela Marcando mais de uma opção por ComboBox

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 15/12/2019, 04:47