Fórum Result de duas Query´s no QuickReport #294308

02/09/2005

0

Caros amigos.

Estou com uma dúvida... tenho um relatorio feito no quickreport como faço para receber dois DataSets, Sendo que tenho duas Query´s onde a Query 1 listo todos os resultados , a Query 2 tb quero listar todos os resultados (distintos) a 1 nao tem vinculo com a 2, deste modo quero listar o result destas duas Query´s no meu relatorio... Alguem poderia me ajudar ou me da alguma dica?

Desde já obg pela Atenção de todos os menbros do forum



[b:08e14a410e]Título editado: ´QuickReport´[/b:08e14a410e]

No título, escreva uma breve descrição para seu problema/dúvida. Por favor, leia a [url=http://forum.clubedelphi.net/viewtopic.php?p=17019#1d]cláusula 1d[/url] das Regras de Conduta.
Sandra/Moderação


Alexespina

Alexespina

Responder

Posts

03/09/2005

Rm

Há uns três anos tive o mesmo problema com duas tables (Recursos Humanos e Equipamento). A solução que encontrei na ocasião foi criar uma terceira tabela esta sim vinculada ao QuickRep.
A seguir está o codigo que utilizei. Testa qual table tem maior qtd de registros para fazer INSERT na tabela auxiliar e EDIT com a de menor qtd de registro.Espero que tenha alguma utilidade.

procedure TForm3.BitBtn4Click(Sender: TObject);
var
recs1,recs2:integer;
begin
with datamodule5 do begin
recs1:=Table8.RecordCount;//tabela1
recs2:=table9.RecordCount;//tabela2

if recs1>=recs2 then begin
table8.First;
table10.first;//tabela auxiliar
while not table10.eof do begin//limpa a auxiliar primeiro
table10.delete;
end;
while not table8.eof do begin//começa historia do INSERT OU EDIT
table10.insert;
table10RH.VALUE:=table8rh.value;
table10Qtd.value:=table8qtd.value;
table8.next;
end;
TABLE10.FIRST;
table9.first;
while not table9.eof do begin
table10.Edit;
table10MQ.VALUE:=table9mq.value;
table10QtdMQ.value:=table9qtdmq.value;
TABLE10.next;
table9.next;
end;
end; //até aqui se recs1>=recs2

if recs1<recs2 then begin
table9.First;
table10.first;
while not table10.eof do begin
table10.delete;
end;
while not table9.eof do begin
table10.insert;
table10mq.VALUE:=table9mq.value;
table10Qtdmq.value:=table9qtdmq.value;
table9.next;
end;
TABLE10.FIRST;
table8.first;
while not table8.eof do begin
table10.Edit;
table10rh.VALUE:=table8rh.value;
table10Qtd.value:=table8qtd.value;
TABLE10.next;
table8.next;
end;
end;

form8.quickrep1.preview;//COM A TABELA10
end;
end;


Responder

Gostei + 0

04/09/2005

Dr. Interbase

Olhe, eu já fiz isso depois de quebrar a cabeça e achei como fazer.
Se entendi direito você quer imprimir primeiros todos os dados de uma tabela e depois quando terminar, imprimir na mesma folha os dados de outra tabela certo?

1) Tire a banda detail
2) insire duas bandas tipo QrSubdetail, este componente é o segundo na palheta do quickrep da esquerda para a direita.
3) clique na primeira banda qrsubdetail, vincule ao primeiro dataset,
coloque os campos a serem impressos.
4) clique na segunda banda qrsubdetail e vincule ao segundo dataset,
coloque os campos a serem impressos.
5) no botão imprimir ou visualizar. Abra os dois datasets para depois dar o comando preview.

É isso. boa sorte, comigo funcionou muito bem


:D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar