Fórum Query com duas tabelas #144602
12/03/2003
0
Bem, estou apanhando para fazer um relatório que conste as contas a pagar e contas e receber.
Para isto estou usando o Qreport. O QReport está apontando para uma query cuja SQL é:
select * from receber, pagar.
No Onclick do botão imprimir tem o seguinte código:
Query.active := false;
Query.Sql.clear;
Query.SQL.Add(´Select * from receber, pagar where ((vencimento >= ´+#39+ maskedit1.text+ 39+´) and (vencimento <= ´+39+ maskedit2.text+ 39+´)) and ((venccli >= ´+39+ maskedit1.text+ 39+´) and (venccli <= ´+39+ maskedit2.text+ 39+´))´);
Query.active:= true;
Onde ´vencimento´ é o vencimento das contas a pagar e ´venccli´ é o vencimento das contas a receber.
O que eu quero é que de um lado mostre somente as contas a pagar e do outro mostre as contas a receber no QREport.
Desde já agradeço a atenção
Para isto estou usando o Qreport. O QReport está apontando para uma query cuja SQL é:
select * from receber, pagar.
No Onclick do botão imprimir tem o seguinte código:
Query.active := false;
Query.Sql.clear;
Query.SQL.Add(´Select * from receber, pagar where ((vencimento >= ´+#39+ maskedit1.text+ 39+´) and (vencimento <= ´+39+ maskedit2.text+ 39+´)) and ((venccli >= ´+39+ maskedit1.text+ 39+´) and (venccli <= ´+39+ maskedit2.text+ 39+´))´);
Query.active:= true;
Onde ´vencimento´ é o vencimento das contas a pagar e ´venccli´ é o vencimento das contas a receber.
O que eu quero é que de um lado mostre somente as contas a pagar e do outro mostre as contas a receber no QREport.
Desde já agradeço a atenção
Anonymous
Curtir tópico
+ 0
Responder
Posts
12/03/2003
Leonardo Wolf
Olha Alexandre no meu pouco entendimento acho que vc esta indo pelo caminho errado. Ao fazer uma select com duas tabelas totamente distintas em uma Query.
Geralmente eu utilizo duas tabelas somente quando elas são relacionadas
as famosas ´joins´ no seu caso as tabelas são totalmente diferentes , não
existe nenhum tipo de referência de uma com a outra.
Creio que o melhor que vc poderia fazer é criar duas querys distintas
uma para cada tabela e utilizar paramentros para passar os valores da
data. Procure utilizar componentes de data tipo o DateTimePicker na Pasta Win32. vc não irá precisar usar maskEdit e pode passar o valor diretamente.
with qr.Sql do
begin
qr.Clear;
qr.Add(´Select * from contas_pagar´)
qr.Add(´where´);
qr.Add(´dt_vencimento >=:dt_inicio and´);
qr.Add(´dt_vencimento < :dt_final´);
end;
qr.ParamByName(´dt_inicio´).AsDateTime := DateTimePicker1.Date;
qr.ParamByName(´dt_final´).AsDateTime := DateTimePicker2.Date + 1;
qr.Open ou Active ;
faça o mesmo com a outra tabela
Qr.Close;
Geralmente eu utilizo duas tabelas somente quando elas são relacionadas
as famosas ´joins´ no seu caso as tabelas são totalmente diferentes , não
existe nenhum tipo de referência de uma com a outra.
Creio que o melhor que vc poderia fazer é criar duas querys distintas
uma para cada tabela e utilizar paramentros para passar os valores da
data. Procure utilizar componentes de data tipo o DateTimePicker na Pasta Win32. vc não irá precisar usar maskEdit e pode passar o valor diretamente.
with qr.Sql do
begin
qr.Clear;
qr.Add(´Select * from contas_pagar´)
qr.Add(´where´);
qr.Add(´dt_vencimento >=:dt_inicio and´);
qr.Add(´dt_vencimento < :dt_final´);
end;
qr.ParamByName(´dt_inicio´).AsDateTime := DateTimePicker1.Date;
qr.ParamByName(´dt_final´).AsDateTime := DateTimePicker2.Date + 1;
qr.Open ou Active ;
faça o mesmo com a outra tabela
Qr.Close;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)