Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Reporte con dos Tablas (https://www.clubdelphi.com/foros/showthread.php?t=35345)

esimon 07-09-2006 18:35:52

Reporte con dos Tablas
 
Hola muy buen Día para todos los amigos del Clubdelphi.


Quiero hacer un reporte usando dos tablas Encabezado y Detalle. hago una relacion Master Ditail, con dos campos que tienen las tablas que son Codigo_Cons_OrdenM, estoy usando el ReportBuilder y como base de tados utilizo Access.

el reporte lo estoy creando con dos ppDBPipeline y un ppReport, porque tengo un Main y un subrepor y un Query para enlasar las dos tablas encabezado y detalle. (no se, si es forma corecta de hacer este reporte) el query uso la siguiente sentencia, lo que pasa con esto es que en el reporte seme estan duplicandos los datos.

Código:

SELECT Encabezado_Orden.*, Detalle_Orden.*
FROM Encabezado_Orden INNER JOIN Detalle_Orden
ON Encabezado_Orden.Codigo_Cons_OrdenM = Detalle_Orden.Codigo_Cons_OrdenM


Caral 07-09-2006 19:14:56

Hola
No se si te sirva pero esto es un codigo de un reporte que usa dos query en el para hacer enlaces.:D

if Reporte = 'PiezasFacturadas' then
begin
ShortDateFormat := 'mm/dd/yyyy';
//#
try
FEntregasP:=TFEntregasP.Create(self);
FEntregasP.ADOQuery1.SQL.Add(' WHERE Factura.Fecha >= #'+DateToStr(DTP1.Date)+ '# AND Factura.Fecha <= # '+DateToStr(DTP2.Date)+'#');
FEntregasP.ADOQuery1.SQL.Add(' AND Factura.Excento = True ');
FEntregasP.ADOQuery1.SQL.Add(' ORDER BY Factura.Fecha DESC, Factura.CodFactura DESC ');
// con este (Showmessage) veo lo que me envia el query antes de enseñar el reporte
//Showmessage(QRMovBanNac.ADOQuery1.SQL.Text);
FEntregasP.ADOQuery2.SQL.Add(' WHERE Factura.Fecha >= #'+DateToStr(DTP1.Date)+ '# AND Factura.Fecha <= # '+DateToStr(DTP2.Date)+'#');
FEntregasP.ADOQuery2.SQL.Add(' AND Factura.Excento = True ');
FEntregasP.ADOQuery2.SQL.Add(' ORDER BY Factura.Fecha DESC, Factura.CodFactura DESC ');
FEntregasP.ADOQuery1.Open;
FEntregasP.ADOQuery2.Open;
ShortDateFormat := 'dd/mm/yyyy';
FEntregasP.ShowModal;
finally
FEntregasP.Free;
end;
Tal vez te de alguna idea.:)
Saludos

esimon 07-09-2006 19:27:49

es que yo estoy haciendo la relacion bien, el problema es que en el reporte los datos se me estan duplicandos y no se porque.

Caral 07-09-2006 19:38:20

Hola
Aveces en access sucede esto a mi me ha sucedido, lo que hago para pulir un codigo sql es implementarlo en access directamente hasta que me de la informacion que necesito.
Por otro lado puede que estes duplicando los QRDd en el reporte y no te allas dado cuenta aveces se esconden debajo del renglon.
No se, revisa un poco, si el codigo esta bien no deberia duplicar datos ni nada.:D
Saludos


La franja horaria es GMT +2. Ahora son las 04:52:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi