PDA

Ver la Versión Completa : Reporte con dos Tablas


esimon
07-09-2006, 19:35:52
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.


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, 20: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, 20: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, 20: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