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


5 participantes

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    renatoveras
    renatoveras
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Seg 23 Nov 2015, 11:23 pm

    Boa tarde amigos,

    Gostaria de ajuda para criar um filtro composto em uma Caixa de Listagem.

    Me utilizei dessa técnica: criar outra consulta com o critério =Como [Formulários]![SeuForm]![SuaCaixaQueTemOCódigoDoCliente] & "*"

    Desse link: https://www.maximoaccess.com/t5190-resolvidocaixa-de-listagem-com-filtro-em-formulario

    Mas ela só serviu para o primeiro campo, a partir do segundo filtro que faço não busca os registros em sua totalidade.

    Pelo que percebi, o critério começa a fazer AND na consulta SQL restringindo os resultados.

    Segue imagem:

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem M7dww

    https://2img.net/h/oi68.tinypic.com/m7dww.png

    Já usei outras técnicas mas sem sucesso até então.

    Toda ajuda é bem vinda

    Grato
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 800
    Registrado : 30/08/2010

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  gilberlanio Seg 23 Nov 2015, 11:53 pm

    Se você estiver colocando o critério na consulta origem de dados da caixa de listagem o código deveria ser assim para cada campo que quer filtrar

    Como [Forms]![SeuForm].[SeuCampoQueEstáNoForm] & "*"

    Veja essa aula que vai ajudar entender melhor:
    https://www.youtube.com/watch?v=rmZIVJY-imU
    renatoveras
    renatoveras
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Ter 24 Nov 2015, 1:24 am

    Oi gilberlanio,

    Obrigado pela atenção.

    Eu fiz conforme o vídeo e sua orientação aqui, mas funciona apenas quando se filtra por um único campo!

    Quando tento filtrar por mais um não funciona, veja a sequencia de imagens da consulta de origem:

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Mj7bfb

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem 2jfepet

    Com um filtro traz todos os 360 registros

    Já com dois filtros o retorno cai para 221 registros, tratam-se daqueles que estão em branco no campo ACESSO

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem 2q3vq6b

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem 2yzk5d4

    Preciso comece a filtrar apenas quando o usuário utilize o formulário e não no ato de construir os filtros.

    Grato

    Renato
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Assis Ter 24 Nov 2015, 1:44 am

    Boa noite

    Teste assim

    Como "*" & [Forms]![SeuForm]![SuaCaixaQueTemOCódigoDoCliente] & "*"


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Ter 24 Nov 2015, 2:24 am

    Oi Assis,

    Infelizmente não resolveu.

    Nesse formulário falta só esse detalhe para ficar completamente pronto, mas está bem difícil.

    Mais alguma alternativa?
    tauron
    tauron
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1396
    Registrado : 08/12/2011

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  tauron Ter 24 Nov 2015, 2:36 am

    um pitaquinho talvez sem resultado mas, tente colocar o criterio em linhas diferentes:

    observe o "ou" logo abaixo de "criterio" e os demais campos nas linhas abaixo.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Assis Ter 24 Nov 2015, 2:47 am

    Renato
    Pode postar essa parte da BD
    Versão 2007


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Ter 24 Nov 2015, 9:30 pm

    Tauron, tentei dessa forma contudo com OU vem sempre todos os registros.

    Assis, trabalho atualmente com o access 2010, preciso converter para 2007 para lhe passar? Se sim como faço isso?

    Tenho ele em 2010 no link abaixo:

    http://ge.tt/48o0COS2/v/0

    Abra o Form Consulta Números Móveis 2 que tem uma caixa de listagem baseada na Consulta Números Móveis Export

    A tabela origem é tblMoveis que tem três registros.

    Na consulta traz apenas 2 registros por que coloquei o filtro Como "*" & [forms]![Consulta Números Móveis2].[txtSituacao] & "*" no campo codSituacao da Consulta Números Móveis Export.

    Por causa de um telefone não ter essa informação, codSituacao, ele não mostra o registro.

    Isso está ocorrendo com os dados do meu sistema restringindo vários registros.

    Tem como colocar os filtros e só filtrar quando o usuário estiver trabalhando no formulário?
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Assis Qua 25 Nov 2015, 2:02 am

    Renato

    O campo marcado com um circulo vai ser sempre número único, ou vai repetir ?

    Se unico quando o selecionar só vai dar um registo ....

    Aguardo ....

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem 344pkqa


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Qua 25 Nov 2015, 9:15 pm

    Assis,

    Sim, sempre será número único.

    Sim novamente, quando eu selecionar um número só vai dar um, porém quando eu não selecionar nada tem que vir todos.

    No arquivo que mandei o número 6199999999 não tem situação e não está vindo na consulta quando coloco o filtro, consequentemente não vem na caixa de listagem.

    Preciso fazer a consulta trazer todos os números enquanto o filtro não for usado no formulário.

    Apague a situação na tblMoveis, ou descompacte o arquivo novamente.

    Dezenas de registros estão sumindo da consulta na minha aplicação. Infelizmente não posso mandar toda a aplicação pois tem números confidenciais.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Assis Qua 25 Nov 2015, 11:16 pm

    Renato

    Teste

    Esta Bd só tem uma consulta e um formulário, caso esteja de acordo daquilo que o amigo quer, é só importar para a sua BD

    Os campos devem ser todos preenchidos, caso contrário os registos não aparecem na caixa de listagem

    http://ge.tt/7CrK8TS2/v/0?c

    Aguardo


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Qua 25 Nov 2015, 11:39 pm

    Oi Assis,

    Eu clico em baixar no firefox e no chrome e não baixa... Restrição da minha rede creio...

    Mas uma coisa que vc falou e que eu já tinha percebido mas não queria aceitar, é o fato de registros com campos relacionados em branco não aparecerem na consulta.

    Isso é uma característica de banco mesmo?

    Vou ter que preencher todos os campos para que o projeto funcione corretamente?

    Grato

    Renato
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Assis Qua 25 Nov 2015, 11:53 pm

    E aqui consegue ?

    https://dl.dropboxusercontent.com/u/8169944/Assis%20STELECOM.accdb


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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Noobezinho Qui 26 Nov 2015, 12:00 am

    Renato

    O Access faz aquilo que pedimos, ou seja, como na

    consulta não estamos pedindo para nos mostrar campos

    em branco, ele não irá mostrar, ok?

    Veja se esse exemplo te ajuda.

    Veja como é feito a consulta para mais de um campo.

    [ ]'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.
    renatoveras
    renatoveras
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Qui 26 Nov 2015, 12:30 am

    Assis,

    Da forma que me enviou funciona exato como você falou, só se todos os dados estiverem sendo preenchidos.

    Necessito que a consulta composta só filtro quando os filtros no formulário sejam preenchidos.

    Estou analisando a solução indicada pelo Noobezinho, assim que terminar dou um feedback.

    Obrigado
    renatoveras
    renatoveras
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Qui 26 Nov 2015, 1:03 am

    Noobezinho,

    Como dizia Leonardo da Vinci: "A simplicidade é o último grau de sofisticação.

    Seu código é extremamente simples e muito prático.

    Mas subformulário não consigo exportar para excel, condição necessária para a tela que estou trabalhando.

    Tem como fazer o código com caixa de listagem?
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Noobezinho Qui 26 Nov 2015, 1:11 am

    Dá sim

    Mas não terá a coloração dos campos, pois
    a caixa de listagem é pobre nesse quesito.

    Um formulário contínuo é muito parecido com uma listbox,

    salvo algumas exceções.

    A consulta que usaria na fonte de registro de um form contínuo,

    pode ser usado na propriedade origem da linha  da listbox.

    Tente fazê-lo, com base na consulta do exemplo.

    Pensando rapidamente, o resultado de um subformulário,

    pode ser gravado em uma tabela temporária.

    Então, "voa la".

    Caso não consiga,  retorne.


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Qui 26 Nov 2015, 9:35 pm

    Assis e Noobezinho,

    Por conta do seu exemplo eu comecei a desconfiar que teria que fazer as consultas SQL dinâmicas para serem fonte de consulta da listbox.

    Aí conversei com o analista que criou um sistema com uma tela idêntica a que estou fazendo e ele me confirmou que foi exatamente a maneira que ele se utilizou.

    Conforme os campos de filtro forem alterados, acrescente o AND na consulta SQL e atualize o listbox com listbox.RowSource e listbox.Requery.

    Vou adotar essa solução que é praticamente a mesma que você Noobezinho adotou, mudando apenas para subformulário.

    Muito obrigado a todos que me deram valiosas dicas.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Noobezinho Qui 26 Nov 2015, 9:37 pm

    Renato

    Que bom que deu certo!

    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.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Assis Qui 26 Nov 2015, 9:41 pm

    Renato

    Quando terminar por favor, poste para todos no fórum poderem aprender, incluindo eu ...

    Obrigado e

    Abraço


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Qui 26 Nov 2015, 11:10 pm

    Obrigado Noobezinho.

    Combinado Assis! Termino hoje ou no máximo amanhã e posto aqui mesmo!
    renatoveras
    renatoveras
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 20/10/2015

    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  renatoveras Sex 27 Nov 2015, 12:20 am

    Caros amigos,

    Segue a função que criei, toda vez que uma caixa de seleção é alterada é só chamar a função, está com apenas três campos para reduzir o tamanho do código para postar no fórum, mas é só para dar a ideia de como a coisa funciona.

    Código:
    Private Sub VerificaFiltros()
       
        'query da caixa de listagem
        SQL = "SELECT m.Numero, m.SimCard, a.Acesso, tm.TipoMovel AS Tipo, se.Situacao AS Situação, o.Operadora, em.Imei, cc.CentroDeCusto AS [Centro de Custo], r.Nome FROM tblResponsaveis AS r RIGHT JOIN (tblTipoMovel AS tm RIGHT JOIN (tblEquipamentoMovel AS em RIGHT JOIN (tblOperadora AS o RIGHT JOIN (tblCentroCusto AS cc RIGHT JOIN (tblAcesso AS a RIGHT JOIN (tblMoveis AS m RIGHT JOIN tblSituacaoEquipamento AS se ON m.codSituacao = se.codSituacao) ON a.codAcesso = m.codAcesso) ON cc.codCentroDeCusto = m.codCentroDeCusto) ON o.codOperadora = m.codOperadora) ON em.codEquipamento = m.codEquipamento) ON tm.codTipoMovel = m.codTipoMovel) ON r.codResponsavel = m.codResponsavel WHERE 1=1"
       
        'atribuir os valores escolhidos nas combos as variáveis
        txtNumero = cmbNumero.Column(1)
        txtSimCard = cmbSimCard.Column(1)
        txtAcesso = cmbAcesso.Column(1)
       
        'se um campo for selecionado/preenchido vai concatenar um AND a consulta SQL para realizar o filtro
       
        If txtNumero <> "" Then
            SQL = SQL & " AND m.Numero = '" & txtNumero & "'"
        End If
     
        If txtSimCard <> "" Then
            SQL = SQL & " AND m.SimCard = '" & txtSimCard & "'"
        End If
       
        If txtAcesso <> "" Then
            SQL = SQL & " AND a.Acesso = '" & txtAcesso & "'"
        End If
     
        lstConsultaNumerosMoveis.RowSource = SQL
        lstConsultaNumerosMoveis.Requery
     
    End Sub

    Espero que seja útil

    Abraços

    Renato

    Conteúdo patrocinado


    [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem Empty Re: [Resolvido]Como fazer um filtro composto em uma Caixa de Listagem

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Dom 28 Abr 2024, 4:14 pm