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


3 participantes

    Múltiplos filtros vindos de múltiplos TextBox

    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 20/2/2020, 12:56

    Bom dia.

    Gostaria da orientação de vocês em como eu poderia fazer para dar clareza na minha situação:
    Tenho um Formulário onde tenho vários TextBox(Txt_Idade, Txt_Sexo, Txt_Bairro) e várias caixas de seleção (Demanda1, Demanda2, Demanda3...) e uma Consulta.
    Nesta Consulta, eu pego os valores das caixas de texto e ponho como critério de filtro para a consulta. O meu problema chega quando eu vou marcar as caixas de seleção (Demanda1, Demanda2...), pois se na consulta eu informar que quero a Demanda1 com valor de -1 e Demanda2 com valor de -1, ele dá apenas as pessoas que têm dos dois marcados JUNTOS Gostaria que ele pegasse ou um Ou outro. E como eu poderia fazer para que quando tivesse um TextBox vazio, ele excluísse aquele campo da consulta?

    Muito Obrigado desde já.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3948
    Registrado : 21/04/2011

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Marcelo David 20/2/2020, 13:37

    Bom dia,
    Uma sugestão é montar o filtro dinamicamente.
    No botão onde é efetivado a filtragem, monte a
    sql de acordo com os campos marcados.


    .................................................................................
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Access e VBA - Formulário Desacoplado - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Yt_16x10 Conheça meu canal no Youtube e se inscreva.
    filtros - Múltiplos filtros vindos de múltiplos TextBox Marcel11
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 20/2/2020, 14:34

    Você poderia me dar um exemplo básico de como ficaria no modo SQL? Não sei como poderia fazer, pois não tenho conhecimento avançado no Access.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3948
    Registrado : 21/04/2011

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Marcelo David 20/2/2020, 16:58

    Montando a SQL da filtragem

    if not isnull(me.txt_idade) then VariávelFiltro = "CampoIdade="& me.txt_idade
    if not isnull(me.txt_sexo) then VariávelFiltro = VariávelFiltro & " AND CampoSexo='"& me.txt_sexo) &"'"
    ...
    if Demanda1 = true then VariávelFiltro = VariávelFiltro & " AND Demanda1=true"
    if Demanda2 = true then VariávelFiltro = VariávelFiltro & " AND Demanda2=true"
    ...

    Ajustando a SQL

    VariávelFiltro = IIf(Mid(VariávelFiltro, 1, 4) = " AND", Mid(VariávelFiltro, 6), VariávelFiltro)

    Daí a VariávelFiltro já poderia ser concatenada com a instrução sql ou poderia ser usanda na
    propriedade Filtro da aba dados do formulário acoplado.


    .................................................................................
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Access e VBA - Formulário Desacoplado - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Yt_16x10 Conheça meu canal no Youtube e se inscreva.
    filtros - Múltiplos filtros vindos de múltiplos TextBox Marcel11
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 21/2/2020, 15:14

    Marcelo David escreveu:

    Montando a SQL da filtragem

    if not isnull(me.txt_idade) then VariávelFiltro = "CampoIdade="& me.txt_idade
    if not isnull(me.txt_sexo) then VariávelFiltro = VariávelFiltro & " AND CampoSexo='"& me.txt_sexo) &"'"
    ...
    if Demanda1 = true then VariávelFiltro = VariávelFiltro & " AND Demanda1=true"
    if Demanda2 = true then VariávelFiltro = VariávelFiltro & " AND Demanda2=true"
    Vai ser inserido no botão que realizará a filtragem em código VBA?

    Marcelo David escreveu:
    Ajustando a SQL

    VariávelFiltro = IIf(Mid(VariávelFiltro, 1, 4) = " AND", Mid(VariávelFiltro, 6), VariávelFiltro)
    Vai ser inserido no critério da consulta no campo respectivo?
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3948
    Registrado : 21/04/2011

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Marcelo David 21/2/2020, 15:34

    O objetivo final é uma lista?

    Se sim, como esta lista é alimentada? De uma consulta
    tradicional do Access ou consulta SQL escrita no VBA?


    .................................................................................
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Access e VBA - Formulário Desacoplado - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Yt_16x10 Conheça meu canal no Youtube e se inscreva.
    filtros - Múltiplos filtros vindos de múltiplos TextBox Marcel11
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 21/2/2020, 17:35

    É uma consulta simples que pega valores de uma única tabela. O formulário contendo os Txt_Sexo, Txt_Idade, Demanda1, Demanda2 seriam apenas para aplicar o filtro nessa consulta. Exemplo: Quero saber quantas pessoas do sexo feminino solicitaram demanda 1 E Demanda2, aí vou no formulário, escolho que o sexo quero feminino e marco como Sim a Demanda1 e Demanda2, aí vai abrir outro formulário fazendo a contagem desses dois dados.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3948
    Registrado : 21/04/2011

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Marcelo David 21/2/2020, 18:16

    Então, crie uma formulário continuo (pode ser folha de dados) e use o que lhe passei na
    propriedade filtro dele.



    .................................................................................
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Access e VBA - Formulário Desacoplado - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Yt_16x10 Conheça meu canal no Youtube e se inscreva.
    filtros - Múltiplos filtros vindos de múltiplos TextBox Marcel11
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 27/2/2020, 14:18

    Marcelo David escreveu:Ajustando a SQL

    VariávelFiltro = IIf(Mid(VariávelFiltro, 1, 4) = " AND", Mid(VariávelFiltro, 6), VariávelFiltro)

    Não sei onde eu coloco essa informação e nem consigo entendê-la. "VariávelFiltro, 1, 4" O que seriam respectivamente esses valores?

    Eu sei que é necessário uma consulta e é necessário criar critérios na consulta para gerar valores e um determinado formulário extrair a quantidade.
    Quando eu insiro no formulário onde eu crio a VariávelFiltro e se não for nulo, ela vai igualar o seu valor com determinado campo. Como eu utilizaria a VariávelFiltro como critério na consulta para que me fosse gerado o quantitativo?
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3948
    Registrado : 21/04/2011

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Marcelo David 27/2/2020, 16:58

    Boa tarde,

    VariávelFiltro = IIf(Mid(VariávelFiltro, 1, 4) = " AND", Mid(VariávelFiltro, 6), VariávelFiltro)

    Estamos montando uma variável com a escrita da sql. E como pode ser que na clausula WHERE
    tenha um determinado campo ou não, no final da montagem havará situação que sobra um AND.

    Nesse caso, uso a função Mid, que retorna uma parte do texto de uma string.
    Assim, na  variável filtragem verifico se o texto composto pelo 1º e 4º  caractere é " AND", subtendendo
    que sobrou um and, daí, eu o elimino da string e assim ela se mantem da maneira correta na SQL.

    Sugiro você dar uma estudada nas funções internas do Access/VBA, não apenas na função Mid, mas em várias outras
    que trata strings, datas, números e etc.

    Facilitará muito sua vida  Smile

    Em todo o caso, se não conseguir, poste aqui que tentaremos montar a estrutura para você.


    .................................................................................
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Favicon-16x16   Access e VBA - Formulário Desacoplado - [Passo a passo]
    filtros - Múltiplos filtros vindos de múltiplos TextBox Yt_16x10 Conheça meu canal no Youtube e se inscreva.
    filtros - Múltiplos filtros vindos de múltiplos TextBox Marcel11
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 9/3/2020, 14:52

    Você poderia me ajudar e fazer um exemplo? Assim eu conseguiria reproduzir nas demais e entenderia melhor e poderia me aprofundar nos estudos entendendo melhor como funciona,
    Anexos
    filtros - Múltiplos filtros vindos de múltiplos TextBox AttachmentDatabase4.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (47 Kb) Baixado 15 vez(es)
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 13/3/2020, 16:15

    Alguém poderia me dar uma luz?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Alexandre Neves 14/3/2020, 13:39

    Boa tarde
    Não compreendo a bd que enviou
    Explique o que cada controlo do formulário se relaciona com a tabela, pois não vejo como se relaciona


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 15/3/2020, 16:44

    Alexandre, bom dia.

    Estou tentando alguma forma de fazer uma extração de opções usando uma consulta para que eu consiga desenvolver um formulário onde eu pego a quantidade de cada opção selecionada para fazer o filtro.

    No Form fExtrairPerfilRecepcao existem algumas caixas de seleção e caixa de combinação. Gostaria que quando eu colocar que quero na Caixa de combinação "Forma de Acesso = Demanda Espontânea" a minha consulta cExtrairPerfilRecepcao tenha todas as pessoas que têm no campo Demanda Espontânea. Até aí eu consigo realizar o que quero. Meu problema chega quando eu marco duas caixas de seleção, deixando com valores -1, mas aí eu não consigo pensar em uma forma na qual a minha consulta cExtrairPerfilRecepcao enxergue a Dem1 OU a Dem2.

    Quando deixo marcado que quero as duas, a consulta interpreta que é obrigatório ter a Dem1 e Dem2 marcadas juntas como obrigatório, mas na verdade eu quero ou uma ou outra.
    Exemplo:
    Fulano está marcado como sim a Dem1;
    Beltrano está marcado como sim a Dem2;
    Ciclano Está marcado como Sim a Dem 1 e 2.
    Quando no formulário fExtrairPerfilRecepcao eu marcar que quero todos os os registros com Dem1, o fExtrairPerfilRecepcao vai me dar o Fulano e o Ciclano.
    Quando no Formulário fExtrairPerfilRecepcao eu marcar que quero Dem1 e a Dem2, o fExtrairPerfilRecepcao vai me dar apenas quem tem as duas marcadas, que é o Ciclano, mas eu queria que fosse filtrado pra me mostrar que o Fulano e Beltrano também aparecessem no filtro, porque mesmo que eles não tenham a Dem1 E Dem2 ao mesmo tempo, eles têm OU a Dem1 OU a Dem2.

    Espero que tenha conseguido entender.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Alexandre Neves 16/3/2020, 14:21

    Boa tarde

    Reveja o que quer. Leia a descrição e faça de conta que não sabe nada além do que está escrito e veja se entende o que é pedido.
    Fala em Dem1 e Dem2. Não vejo nada no form que se relacione com isso.


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 16/3/2020, 15:57

    Boa tarde Alexandre.

    No Form a única coisa que vai existir e que não estão relacionadas com a tabela tRecepção são: FiltroDem1 e FiltroDem2, com Legendas: Atualização de CadÚnico e Acompanhamento Técnico respectivamente.
    No design da consulta, terei no campo Dem1 como critério: Como "*" & [Forms]![fExtrairPerfilRecepcao]![FiltroDem1] E "Verdadeiro".

    Se eu tentar colocar o mesmo critério na consulta em Dem2, ao executar, me informa que as fórmulas são muito grandes e eu não consigo fazer com que a consulta me dê OU Dem1 OU Dem2 ao ser executada, tendo em vista que com esse critério, ele vai buscar diretamente os valores que estão no Form como caixas de seleção FiltroDem1 e FiltroDem2.

    Quando eu abrir o Form e marcar a caixa de seleção "FiltroDem1 com legenda"Atualização de CadÚnico"", ao abrir a consulta, quero que a consulta veja qual valor está no Formulário e no Campo FiltroDem1 para que ele execute o filtro nesse campo. Paralelo a isso, quero que o mesmo ocorra com o FiltroDem2. Se eu marcar as duas caixas de seleção no Formulário FiltroDem1 E Filtro Dem2, quero que a consulta verifique quem tem a Dem1 OU a Dem2.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Alexandre Neves 16/3/2020, 20:53

    Não entendi como quer que funcionem os filtros
    Apenas criei código para a caixa de combinação.
    Normalize os nomes e tipo de dados. FormaAcesso devia ser número em vez de texto. Nome é uma palavra reservada do Access

    Utilize este código
    Código:
    Private Sub btnFiltrar_Click()
        Dim Cs As QueryDef
        Set Cs = CurrentDb.QueryDefs("cExtrairPerfilRecepcao")
        
        Select Case Combinação11
        Case "Demanda Espontânea"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso='1' GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        Case "Encaminhamento"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso='2' GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        Case "Ambos"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso IN ('1','2') GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        End Select
        DoCmd.OpenQuery "cExtrairPerfilRecepcao"
    End Sub


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 16/3/2020, 23:10

    Boa Noite, Alexandre.

    Eu anexei nessa mensagem como é o meu formulário de registro para a tabela tRecepção. Eu optei que cada DEMANDA que eu marcar como verdadeiro, será um campo na minha tabela tRecepção, ou seja, eu categorizei todo tipo de demanda durante um ano no meu trabalho os nomeando na minha tabela que vão de Dem1 até Dem29. Se você abrir no modo design a minha tabela tRecepção, coloquei nas observações o que cada DEMANDA (Dem1 até Dem29) significam.

    Eu não quero fazer um filtro "Padrão" onde ele vai fazer a contagem de tudo categorizado no geral, até porque eu já fiz isso, fazendo a contagem no geral de tudo. Eu quero que quem está operando o programa que selecione o que ele quer que seja filtrado. Exemplo: Eu quero saber quantas pessoas do sexo Masculino, que vieram por Demanda Espontânea e que têm como valor SIM/True/-1 o campo Dem1, Dem2 e Dem4.

    Tentei adaptar seu código para me atender, mas assim que eu crio novos casos para filtro, a consulta me gera valor zero.
    Código:
    Private Sub btnFiltrar_Click()

        Dim Cs As QueryDef
        Set Cs = CurrentDb.QueryDefs("cExtrairPerfilRecepcao")
        
        Select Case Combinação11
        Case "Demanda Espontânea"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso='1' GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        Case "Encaminhamento"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso='2' GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        Case "Ambos"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso IN ('1','2') GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        End Select
            Select Case FiltroDem2
        Case True
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE Dem2=-1 GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
       End Select
            Select Case FiltroDem1
        Case True
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE Dem1=-1 GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
       End Select
      
        DoCmd.OpenQuery "cExtrairPerfilRecepcao"

    Espero que tenha conseguido entender.
    Anexos
    filtros - Múltiplos filtros vindos de múltiplos TextBox AttachmentDatabase41.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (63 Kb) Baixado 26 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Alexandre Neves 17/3/2020, 13:47

    Boa tarde
    Agora não entendi se quer código para qual dos forms que tem a bd
    Seja explícito. Indique para que form quer o código, o que cada controlo significa e todos os pormenores necessários


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 17/3/2020, 15:04

    Já tentei explicar de diversas formas, todas sem sucesso. Não consigo mais pensar em outra forma de explicar. O Formulário fRecepcao foi só uma forma de você entender COMO eu coleto as informações. Meu problema está apenas na consulta e no formulário que criei para fazer filtros personalizados.
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 20/3/2020, 00:01

    Alguém mais poderia me ajudar sobre múltiplos filtros feitos através de campos da tabela com valores True e False?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Alexandre Neves 20/3/2020, 19:42

    Boa noite,
    Deve entender a construção da string de filtro e ir construindo com as condições do preenchimento do form
    Do género: If verIdade Then ExpressaoParaVerdadeiro Else ExpressaoParaFalso


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  AbymaelSousa 1/4/2020, 15:53

    Boa tarde,

    Gostaria da ajuda de alguém nesse código, pois só estou conseguindo filtrar o Case Combinação11, já o case FiltroDem1 e o case FiltroDem2 me apresenta campos vazios. Sabem me informar se o código é construído dessa forma para valores True e False?

    Código:
    Private Sub btnFiltrar_Click()

        Dim Cs As QueryDef
        Set Cs = CurrentDb.QueryDefs("cExtrairPerfilRecepcao")
        
        Select Case Combinação11
        Case "Demanda Espontânea"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso='1' GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        Case "Encaminhamento"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso='2' GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        Case "Ambos"
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE FormaAcesso IN ('1','2') GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
        End Select
            Select Case FiltroDem2
        Case True
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE Dem2=-1 GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
       End Select
            Select Case FiltroDem1
        Case True
            Cs.SQL = "SELECT CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4 FROM tRecepcao WHERE Dem1=-1 GROUP BY CodRec, DataReg, Nome, FormaAcesso, AtendPriorit, TipoPrioridade, Encaminhada, Bairro, Procedimento, Sexo, DataNascimento, Idade, Dem1, Dem2, Dem3, Dem4;"
       End Select
      
        DoCmd.OpenQuery "cExtrairPerfilRecepcao"

    Conteúdo patrocinado


    filtros - Múltiplos filtros vindos de múltiplos TextBox Empty Re: Múltiplos filtros vindos de múltiplos TextBox

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 14:35