Saul Lima escreveu:
Tenho um banco de dados para registro de clientes e pagamento de
mensalidades. Nele, eu criei duas consultas, na primeira, chamada de
qryAdimplentes, é feita uma busca na tabela de pagamentos onde as colunas
Ano e Mês tem critério = ?, para que seja perguntando o ano e mês de
pagamento a ser consultado quando a consulta é acessada.

Na segunda consulta, que se chama qryInadimplentes, são exibidos os nomes,
sobrenomes, endereço, telefone, celular de todos os que estão inadimplentes
em determinado mês e ano. Esta consulta tem um cláusula NOT IN, orientando
para que a mesma exclua os registros computados na tabela de pagamentos. O
código sql dela é o seguinte:

SELECT DISTINCT "Clientes"."IDCliente", "Clientes"."Nome",
"Clientes"."Sobrenome", "Clientes"."Endereço", "Clientes"."Bairro",
"Clientes"."EndereçoEmail", "Clientes"."NúmeroTelefone",
"Clientes"."NúmeroCel", "qryAdimplentes"."Mes", "qryAdimplentes"."Ano" FROM
"Clientes", "qryAdimplentes" WHERE  "Clientes"."IDCliente" NOT IN ( SELECT
DISTINCT "qryAdimplentes"."IDCliente" FROM "qryAdimplentes")


Acontece que quando tento criar um relatório a partir da consulta
qryInadimplentes a janela popup que se abre perguntando pelo mês e ano é
redundante. Aparecem 2 vezes o campo Ano e 2 vezes o campo mês, sendo que o
relatório só é gerado corretamente se preenchidos os quatro campos da
janela.... Não entendi o porque disso, sendo que as consultas funcionam
normalmente, inclusive a qryInadimplentes que só pergunta por um campo Mês e
um campo Ano para exibir os resultados...

O que pode estar causando esta redundância?



Talvez seja porque você referencia duas vezes a consulta "qryAdimplentes", na cláusula FROM do SELECT externo e no sub-select da cláusula NOT IN.

Tente usar um LEFT OUTER JOIN:

SELECT DISTINCT "Clientes"."IDCliente", "Clientes"."Nome",
"Clientes"."Sobrenome", "Clientes"."Endereço", "Clientes"."Bairro",
"Clientes"."EndereçoEmail", "Clientes"."NúmeroTelefone",
"Clientes"."NúmeroCel", "qryAdimplentes"."Mes", "qryAdimplentes"."Ano"
FROM {oj "Clientes" LEFT OUTER JOIN "qryAdimplentes" ON "Clientes"."IDCliente" = "qryAdimplentes"."IDCliente"}
WHERE "qryAdimplentes"."IDCliente" IS NULL

Osvaldo

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a