Moderador grato pela atenção, recdesp é o nome da tabela do financeiro -codparc é um campo de dentro da tabela do financeiro que identifica o codigo do cliente cdsConsCliente é o nome do clientdataset que fiz a consulta para filtrar somente os clientes cdsRecDesp é o nome do clientdataset que fiz a 2ª consulta para imprimir resolvi o problema assim: cdsConsCliente.sql.text := 'select codparc from recdesp where vencimento between '2009-03-30' and '2009-06-30' group by codparc';
fazendo isso eu sei quem são os clientes que estao com duplicatas em aberto nos ultimos 90dias.
então agora para imprimir todas as duplicatas deles vencidas
2º cdsrecdesp.sql.text := 'select * from recdesp where vencimento <= '2009-06-30' ;
codigo do delphi:sSQL := '';
i:=1;
if not cdsconsCliente.isNull then
sSQL := ' and ( ';
cdsConsCliente.first;
while not cdsConsCliente.eof do
begin
if i > 1 then
sSQL := sSQL + ' or ';
sSQL := sSQL + ' (recdesp.codparc = '+cdsConsCliente.fieldbyname('CodParc').AsString+') ';
inc(i);
cdsConsCliente.next;
end;
if sSQL <> '' then
sSQL := sSQL + ' ) ';
cdsrecdesp.sql.add(sSQL); --------------------------------------------------------------------------------------------------------------- assim fui adicionando o resultado da 1ª tabela igualando o cliente na 2º agora me de uma dica tipo o resultado da 1ª(cdsConsCliente) é de +/- 400 registros, e fui igualando os clientes que eu queria que fossem para o relatorio, ate ai tudo bem agora, tem algum problema com relacao a instabelidade,agilidade,... a query ficar muito grande??? Agradecidademente wellington andrade silva