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

    [Resolvido]Consuta <> de

    avatar
    wbonelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 02/04/2011

    [Resolvido]Consuta <> de Empty [Resolvido]Consuta <> de

    Mensagem  wbonelli 1/10/2012, 22:02

    Pessoal, boa noite!

    Tenho uma tabela onde guardo salvo os envios que são feitos para os doadores de uma instituição.


    Envio carta de boas vindas = Código 001
    Envio Carta Boletos Mensais = Codigo 002

    E assim por diante.


    A tabela guarda o Id da pessoa, data do envio, código do Envio (001, 002, etc)

    Uma pessoa terá, então, ao longo do tempo diversos envios.

    O que eu necessito e não estou conseguindo:

    Criar uma query que retorne todas as pessoas, menos aquelas que tem o código de envio "028" - Reenvio de Boletos. Ou seja, necessito que a consulta me considere SOMENTE as pessoas que não receberam os Boletos (código 028)

    Tentei fazer assim, mas caso o Id da pessoa tenha outros envios, ele me retorna, ignorando apenas a entrada que tenha código <> 28.


    SELECT Tabela_Clientes_Historico.Id_Cliente_Historico_Cliente AS Id
    FROM Tabela_Clientes_Historico
    WHERE (((Tabela_Clientes_Historico.Historico_Cliente)<>28))
    GROUP BY Tabela_Clientes_Historico.Id_Cliente_Historico_Cliente;


    Não sei se teriam alguma idéia de como eu poderia fazer esta query.

    Obrigado.


    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  criquio 1/10/2012, 22:05

    Tente limpar a instrução SQL e colocar direito no critério do campo assim:
    <> 028

    Se o 028 for tipo texto, coloque ele entre aspas.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    wbonelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 02/04/2011

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  wbonelli 1/10/2012, 22:11

    OI Criquio,

    Obrigado pela resposta mas não deu certo.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  criquio 1/10/2012, 22:16

    Deveria funcionar, mas tente então assim:

    Not 028


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    wbonelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 02/04/2011

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  wbonelli 1/10/2012, 22:24

    Então, Criquio, acho que é eu quem não estou sabendo me explicar:

    a query até elimina a entrada 28, mas o problema é que existem para o mesmo Id outros envios.

    Um exemplo:

    dia 28/09 - cod_envio 001 - Id 10 (cliente)
    dia 27/08 - Cod_Envio 002 - Id 10 (cliente)
    dia 28/07 - Cod_Envio 028 - Id 10 (cliente)

    Então com a query é eliminado a entrada:

    28/07 - Codi_Envio 028, mas o que eu quero é que: se para esta pessoa existe uma entrada "028", então que ela seja desconsiderada da minha consulta que é para o reenvio dos boletos que ela já recebeu, idependentemente que tenha outras entradadas.

    e o que esta consulta está fazendo é exatamente eliminar a entrada 028, mas como existe outras entradas para o cliente Id 10, ele continua sendo considerado.

    Obrigado.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  criquio 1/10/2012, 22:32

    Tente colocar tambem no critério do campo da id:

    <> DLookup("id";"NomeDaTabela";"CodEnvio=" & [CodEnvio])


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    wbonelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 02/04/2011

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  wbonelli 1/10/2012, 22:53

    OI Criquio,

    vou testar depois, pois tenho que sair agora, e lógo que possa te dou um retorno.
    Obrigado pela ajuda.
    Wagner
    avatar
    wbonelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 02/04/2011

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  wbonelli 2/10/2012, 10:45

    Bom dia Criquio!

    Não deu certo, infelizmente.
    coloquei no critéiro do campo Id: <>DPesquisa("Id_Cliente_Historico_Cliente";"Tabela_Clientes_Historico";"[Historico_Cliente]=" & [Historico_Cliente])

    e dá o seguinte erro:
    "você tentou executar uma consulta que não inclui a expressão Id especificada como parte de uma função agregada"

    Obrigado.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  Cláudio Más 2/10/2012, 11:15

    Vê se é isso:
    Código:
    SELECT Id_Cliente_Historico_Cliente, Sum(IIf([Historico_Cliente]="028",1,0)) AS controle028 FROM Tabela_Clientes_Historico GROUP BY Id_Cliente_Historico_Cliente HAVING (((Sum(IIf([Historico_Cliente]="028",1,0)))=0))
    avatar
    wbonelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 02/04/2011

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  wbonelli 2/10/2012, 11:20

    OI Criquio,

    Deu certo!

    Cara, você pode, me dizer o que fez, que ainda não entendi como funcionou?

    Muito obrigado.
    Wagner
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  Cláudio Más 2/10/2012, 11:52

    Oi Marcelo Laughing

    Se vc visualizar a instrução SQL no modo estrutura da consulta, facilita o entendimento.

    É bem intuitivo.

    O campo calculado "controle028" assume o valor 1 quando o código é 028, e 0 quando é diferente de 028.

    Somando esse campo controle028 para cada cliente, se o resultado é igual a zero, significa que o cliente nunca recebeu o código "028". Basta aplicar esse conceito em uma consulta e terá o resultado esperado.
    avatar
    wbonelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 70
    Registrado : 02/04/2011

    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  wbonelli 2/10/2012, 12:44

    OI Cláudio, bom dia!
    Agora que vi quem me respondeu! Muito obrigado, mais uma vez, pela sua ajuda.
    Eu tinha visto a sintaxe da consulta, mas não tinha entendido. Agora ficou claro.
    Obrigado.
    Wagner

    Conteúdo patrocinado


    [Resolvido]Consuta <> de Empty Re: [Resolvido]Consuta <> de

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 16:06