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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    augustopimenta
    augustopimenta
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 22/6/2021, 12:21

    Olá Pessoal..
    Estou reabrindo o tópico em o Damasceno me ajudou na solução...
    Mas surgiu uma dúvida..
    Com relação a escrita de uma consulta..
    Damasceno me ajudou a filtrar os registros com o campo Avaliacao = Resistente.
    Se eu quisesse que aparecessem os registros com o campo Avaliação como Resistente e com o campo Avaliação como Resistente e Não testado ..
    Já tentei de vários modos aqui mas não dá certo.. (Não acertei a escrita..)
    Existem dados fictícios cadastrado no banco, o resultado que estou buscando da consulta seriam 3 registros. Os registros com CodControleMov= 9, 407 e 409.
    Alguém pode ajudar ?? Segue banco em anexo ..
    Desde já agradeço ..

    Código:
    SELECT tblMovimento.NomePaciente, tblMicroorganismo.DescMicroorganismo, tblMovimento.CodControleMov, Temp.Total
    FROM ((SELECT CodControleAntimicrMov, Sum(1) AS Total FROM tblAntimicrobianoMov GROUP BY CodControleAntimicrMov, [b]Avaliacao HAVING Avaliacao="Resistente"[/b])  AS Temp INNER JOIN tblMovimento ON Temp.CodControleAntimicrMov = tblMovimento.CodControleMov) INNER JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov = tblMicroorganismo.CodMicroorganismo
    WHERE (((Temp.Total)=(select count(*) from tblAntimicrobianoMov where CodControleAntiMicrMov = [tblMovimento].[CodControleMov])));
    Anexos
    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico AttachmentControleSCIH - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (683 Kb) Baixado 11 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  Alexandre Neves 22/6/2021, 21:39

    Boa noite,
    Disse com o campo Avaliação como Resistente e com o campo Avaliação como Resistente e Não testado
    Deveria querer dizer com o campo Avaliação como Resistente ou com o campo Avaliação como Resistente e Não testado

    Experimente
    SELECT tblMovimento.NomePaciente, tblMicroorganismo.DescMicroorganismo, tblMovimento.CodControleMov, Temp.Total
    FROM ((SELECT CodControleAntimicrMov, Sum(1) AS Total FROM tblAntimicrobianoMov GROUP BY CodControleAntimicrMov,
    Avaliacao HAVING Avaliacao="Resistente" or Avaliacao="Resistente e Não testado") AS Temp INNER JOIN tblMovimento ON Temp.CodControleAntimicrMov = tblMovimento.CodControleMov) INNER JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov = tblMicroorganismo.CodMicroorganismo
    WHERE (((Temp.Total)=(select count(*) from tblAntimicrobianoMov where CodControleAntiMicrMov = [tblMovimento].[CodControleMov])));


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

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 23/6/2021, 12:33

    Olá Alexandre..
    Bom dia.
    Obrigado pela ajuda..
    Na realidade o campo Avaliacao aceita "Resistente" ou "Não Testado" ou "Sensível". O campo não aceita a opção "Resistente e Não Testado".
    Se no registro tiver campos Avaliação apenas como "Resistente" ele deve aparecer. Se no registro tiver campos Avaliação como "Resistente" e/ou como "Não Testado" ele deve aparecer tb.
    Exemplo:

    Registro 1 : Nome: Joao Antimicrobianos usados: X - Avaliação: Resistente
    Y - Avaliação: Sensível
    F - Avaliação: Resistente

    Registro 2 : Nome: Marta Antimicrobianos usados: X - Avaliação: Resistente
    Y - Avaliação: Resistente
    F - Avaliação: Resistente

    Registro 3 : Nome: Vitor Antimicrobianos usados: X - Avaliação: Não Testado
    Y - Avaliação: Resistente
    F - Avaliação: Não Testado

    Registro 4 : Nome: Maria Antimicrobianos usados: X - Avaliação: Não Testado
    Y - Avaliação: Não Testado
    F - Avaliação: Não Testado

    A consulta deve me retornar apenas o registro 2 e o registro 3 . Ou seja os registros que tem o Campo Avaliacao como "Resistente" e o campo Avaliacao como "Resistente" e/ou "Não testado".
    Não sei se me fiz entender agora..Acho que não expliquei bem da primeira vez..
    Desde já agradeço, Alexandre ..
    Valeu ..
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  Alexandre Neves 23/6/2021, 20:12

    Boa tarde
    Será
    SELECT tblMovimento.NomePaciente, tblMicroorganismo.DescMicroorganismo, tblMovimento.CodControleMov, Temp.Total
    FROM ((SELECT CodControleAntimicrMov, Sum(1) AS Total FROM tblAntimicrobianoMov GROUP BY CodControleAntimicrMov, Avaliacao HAVING Avaliacao="Resistente" or Avaliacao="Não testado") AS Temp INNER JOIN tblMovimento ON Temp.CodControleAntimicrMov = tblMovimento.CodControleMov) INNER JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov = tblMicroorganismo.CodMicroorganismo
    WHERE (((Temp.Total)=(select count(*) from tblAntimicrobianoMov where CodControleAntiMicrMov = [tblMovimento].[CodControleMov])));


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

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 24/6/2021, 14:25

    Olá Alexandre
    Bom Dia..
    Já testei desse jeito ai.. E assim a consulta só retorna os registros que estão apenas como Resistente ou apenas como Não testado.. Preciso que a consulta me retorne os registros que só tenham Resistente e os registros que só tenham Resistente e Não Testado. Como expliquei acima.
    Mais uma vez agradeço pela ajuda ...
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  Alexandre Neves 24/6/2021, 22:16

    Boa noite
    Será
    SELECT tblMovimento.NomePaciente, tblMicroorganismo.DescMicroorganismo, tblMovimento.CodControleMov, Temp.Total
    FROM ((SELECT CodControleAntimicrMov, Sum(1) AS Total FROM tblAntimicrobianoMov GROUP BY CodControleAntimicrMov, Avaliacao HAVING Avaliacao<>"Sensível") AS Temp INNER JOIN tblMovimento ON Temp.CodControleAntimicrMov = tblMovimento.CodControleMov) INNER JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov = tblMicroorganismo.CodMicroorganismo
    WHERE (((Temp.Total)=(select count(*) from tblAntimicrobianoMov where CodControleAntiMicrMov = [tblMovimento].[CodControleMov])));
    Caso não seja o que pretende, explique o que pretende e resultado que deverá ter pelos dados da bd que disponibilizou


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

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 25/6/2021, 13:50

    Olá Alexandre..
    Bom dia.. Já tentei assim tb.. Não funciona.. Pois assim ele retorna os registros que tem apenas o "Não Testado".
    Eu expliquei na primeira mensagem o resultado que queria.. O banco ta lá tb ..
    Dá um olhada lá.. eu expliquei qual seria o resultado esperado..
    Mais uma vez eu agradeço a ajuda e a paciência ..
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  Alexandre Neves 27/6/2021, 18:38

    Boa tarde
    Será assim?
    SELECT * FROM (SELECT NomePaciente, DescMicroorganismo,CodControleMov, (SELECT Count(*) FROM tblAntimicrobianoMov WHERE CodControleAntimicrMov=tblMovimento.CodControleMov) AS Total FROM tblMovimento LEFT JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov = tblMicroorganismo.CodMicroorganismo) WHERE NomePaciente IN (SELECT NomePaciente FROM tblMovimento LEFT JOIN tblAntimicrobianoMov ON tblMovimento.CodMicroorganismoMov=tblAntimicrobianoMov.CodControleAntimicrMov WHERE Avaliacao IN ('Resistente') and Avaliacao NOT IN ('Sensível'))


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

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 28/6/2021, 12:17

    Olá..
    Bom dia..
    Infelizmente não funcionou .. Retornou inclusive os que tinham "Sensível" .. E os que tinham apenas "Não Testado" ..
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  Alexandre Neves 28/6/2021, 22:35

    Boa noite
    Será isto
    SELECT * FROM (SELECT * FROM (SELECT NomePaciente, DescMicroorganismo, CodControleMov, (SELECT Count(*) FROM tblAntimicrobianoMov WHERE CodControleAntimicrMov=tblMovimento.CodControleMov) AS Total FROM tblMovimento LEFT JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov = tblMicroorganismo.CodMicroorganismo)
    WHERE NomePaciente IN (SELECT NomePaciente FROM tblMovimento LEFT JOIN tblAntimicrobianoMov ON tblMovimento.CodMicroorganismoMov=tblAntimicrobianoMov.CodControleAntimicrMov WHERE Avaliacao ='Resistente')) WHERE NomePaciente NOT IN (SELECT NomePaciente FROM tblMovimento LEFT JOIN tblAntimicrobianoMov ON tblMovimento.CodMicroorganismoMov=tblAntimicrobianoMov.CodControleAntimicrMov WHERE Avaliacao ='Sensível')


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

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 29/6/2021, 00:57

    Boa Noite..
    Infelizmente continua retornando os registros errados..  Só pode retornar os registros que possuírem apenas Resistente ou Resistente e Não Testado.


    O mais próximo que consegui foi assim :

    Código:
    SELECT tblMovimento.NomePaciente, tblMicroorganismo.DescMicroorganismo, tblMovimento.CodControleMov, Temp.Total, tblMovimento.DataColeta, tblMicroorganismo.GrupoMicroorganismo
    FROM ((SELECT CodControleAntimicrMov, Sum(1) AS Total FROM tblAntimicrobianoMov WHERE ((tblAntimicrobianoMov.Avaliacao="Resistente") Or (tblAntimicrobianoMov.Avaliacao="Não Testado")) GROUP BY CodControleAntimicrMov)  AS Temp INNER JOIN tblMovimento ON Temp.CodControleAntimicrMov = tblMovimento.CodControleMov) INNER JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov = tblMicroorganismo.CodMicroorganismo
    WHERE (((Temp.Total)=(select count(*) from tblAntimicrobianoMov where CodControleAntiMicrMov = [tblMovimento].[CodControleMov])));

    Mas infelizmente ainda aparece os registros que tem apenas "Não Testado"..
    Foi o mais próximo que consegui ..
    Agradeço a ajuda mais uma vez ..
    augustopimenta
    augustopimenta
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 5/7/2021, 14:23

    Agradeço a todos pela ajuda ..
    Alguma dica ??
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  Alexandre Neves 11/7/2021, 21:18

    Boa noite
    Não funciona com os dados que disponibilizou?
    Se sim, explique onde não funcionou


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

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 19/7/2021, 16:56

    Boa tarde, Alexandre..
    De acordo com o banco que disponibilizei, a consulta deveria retornar os registros com CodControleMov igual a 9, 407 e 409 . Apenas esses três.
    Esse último código, não retornou nenhum valor. A consulta não retornou nenhum valor.

    Mais uma vez, agradeço ..
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  Alexandre Neves 20/7/2021, 00:00

    Boa noite,
    Será
    SELECT DISTINCT CodControleMov,NomePaciente,DescMicroorganismo, (SELECT Count(*) FROM tblAntimicrobianoMov as T WHERE T.CodControleAntimicrMov=tblAntimicrobianoMov.CodControleAntimicrMov) as Total FROM (tblMovimento LEFT JOIN tblMicroorganismo ON tblMovimento.CodMicroorganismoMov=tblMicroorganismo.CodMicroorganismo) LEFT JOIN tblAntimicrobianoMov ON tblMovimento.CodControleMov=tblAntimicrobianoMov.CodControleAntimicrMov WHERE CodControleMov IN (SELECT DISTINCT CodControleMov FROM tblMovimento LEFT JOIN tblAntimicrobianoMov ON tblMovimento.CodControleMov=tblAntimicrobianoMov.CodControleAntimicrMov WHERE Avaliacao='Resistente') and CodControleMov NOT IN (SELECT DISTINCT CodControleMov FROM tblMovimento LEFT JOIN tblAntimicrobianoMov ON tblMovimento.CodControleMov=tblAntimicrobianoMov.CodControleAntimicrMov WHERE Avaliacao='Sensível')


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

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 143
    Registrado : 19/03/2012

    [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico Empty Re: [Resolvido]Consulta buscando dados em vários campos..Reabrindo tópico

    Mensagem  augustopimenta 20/7/2021, 14:28

    Bom dia Alexandre..
    Você é o cara.. Deu certinho ..
    Obrigado mais uma vez pela ajuda e paciência..

    Valeu ..

      Data/hora atual: 24/7/2021, 12:21