Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-01-2010
elarys elarys is offline
Miembro
 
Registrado: abr 2007
Posts: 94
Poder: 18
elarys Va por buen camino
Se me ocurre hacer una consulta por pagina a mostrar como si fueran reportes diferentes

Código SQL [-]
SELECT D.Number, D.PrintDate, D.TotDuty, D.TotTax, S.Importer, S.Broker, S.EstDuty, S.EstiTax,
FROM DailyStatements D
LEFT JOIN Shipment_ABI S ON (D.Number = S.Number)
WHERE D.Number ='170925'
ORDER BY Number

Código SQL [-]
SELECT SUM(FeeAmount) Total, C.Description, D.Number, D.PrintDate, D.TotDuty, D.TotTax
FROM DailyStatements D
LEFT JOIN Shipment_ABIFees F ON (D.Number = F.Number)
LEFT JOIN BASICO.dbo.Codes C ON (C.Code=F.FeeCode)
WHERE D.Number ='170925'
GROUP BY F.FeeCode, C.Description, D.Number, D.PrintDate, D.TotDuty, D.TotTax,
ORDER BY Number

Código SQL [-]
SELECT D.Number, D.PrintDate, D.TotDuty, D.TotTax, M.Entry, M.Source
FROM DailyStatements D
LEFT JOIN ABI_STMT_MSG M ON (D.Number = M.Number)
WHERE D.Number ='170925'
ORDER BY Number

Esto funciona bien pero al cambiarle el WHERE y pasarle muchos registros
Me esta mostrando
Page 1
1º registro
2º registro
etc

Page 2
1º registro
2º registro
etc

Page 3
1º registro
2º registro
etc


Y tengo que mostrar el reporte asi:
1º registro
Page 1
Page 2
Page 3

2º registro
Page 1
Page 2
Page 3

y asi n registros, nadie me da una mano

Última edición por elarys fecha: 15-01-2010 a las 17:47:35.
Responder Con Cita
  #2  
Antiguo 15-01-2010
elarys elarys is offline
Miembro
 
Registrado: abr 2007
Posts: 94
Poder: 18
elarys Va por buen camino
Mi funcion para mostrar el reporte
Suprimido el reporte tiene 10 veces mas datos, solo muestro pocos datos aca, asi se entiende


Código Delphi [-]
procedure PrintDailyStatement(number:string;filter:string);
var
  sql:string;
  MyReport:TfrxReport;
  RptFr3:string;
  QryAux1:TADOQuery;
  DsrAux1:TDataSource;
  QryAux2:TADOQuery;
  DsrAux2:TDataSource;
  QryAux3:TADOQuery;
  DsrAux3:TDataSource;
begin
  QryAux1:=tadoquery.Create(nil);
  DsrAux1:=TDataSource.Create(nil);
  QryAux2:=tadoquery.Create(nil);
  DsrAux2:=TDataSource.Create(nil);
  QryAux3:=tadoquery.Create(nil);
  DsrAux3:=TDataSource.Create(nil);

  sql:= ' SELECT D.Number, D.PrintDate, D.TotDuty, D.TotTax,'+
        ' S.Importer, S.Broker, S.EstDuty, S.EstiTax'+
        ' FROM DailyStatements D'+
        ' LEFT JOIN Shipment_ABI S ON (D.Number = S.Number)'+
        ' WHERE D.Number <> '+QuotedStr('');

  if filter = '' then
    sql:= sql +
        ' AND D.Number='+QuotedStr(number)+
        ' ORDER BY D.Number'
  else
    sql:= sql + filter + ' ORDER BY D.Number';

  dressqueries(QryAux1,sql,Datafiles.dbBROKERAGE);
  DsrAux1.DataSet:=QryAux1;
  Datafiles.frxDBDataset1.DataSource := DsrAux1;

  sql:= ' SELECT SUM(FeeAmount) Total, C.Description,'+
        ' D.Number, D.PrintDate, D.TotDuty, D.TotTax'+
        ' FROM DailyStatements D'+
        ' LEFT JOIN Shipment_ABIFees F ON (D.Number = F.Number)'+
        ' LEFT JOIN BASICO.dbo.Codes C ON (C.Code=F.FeeCode)'+
        ' WHERE D.Number <> '+QuotedStr('');

  if filter = '' then
    sql:= sql +
        ' AND D.Number='+QuotedStr(number)+
        ' GROUP BY F.FeeCode, C.Description,'+
        ' D.Number, D.PrintDate, D.TotDuty, D.TotTax'+
        ' ORDER BY D.Number'
  else
    sql:= sql + filter +
        ' GROUP BY F.FeeCode, C.Description,'+
        ' D.Number, D.PrintDate, D.TotDuty, D.TotTax'+
        ' ORDER BY D.StatementNumber';

  dressqueries(QryAux2,sql,Datafiles.dbBROKERAGE);
  DsrAux2.DataSet:=QryAux2;
  Datafiles.frxDBDataset2.DataSource := DsrAux2;

  sql:= ' SELECT'+
        ' D.Number, D.PrintDate, D.TotDuty, D.TotTax,'+
        ' M.Entry, M.Source'+
        ' FROM DailyStatements D'+
        ' LEFT JOIN ABI_STMT_MSG M ON (D.Number = M.Number)'+
        ' WHERE M.Entry <> '+QuotedStr('');

  if filter = '' then
    sql:= sql +
        ' AND D.Number='+QuotedStr(number)+
        ' ORDER BY D.Number'
  else
    sql:= sql + filter + ' ORDER BY D.Number';

  dressqueries(QryAux3,sql,Datafiles.dbBROKERAGE);
  DsrAux3.DataSet:=QryAux3;
  Datafiles.frxDBDataset3.DataSource := DsrAux3;

  RptFr3 := Datafiles.StrPath+Datafiles.dbbasico.DLLCommon_Path + 'reports\DailyStatement.fr3';

  MyReport := Datafiles.Report;
  MyReport.LoadFromFile(RptFr3);
  MyReport.PreviewOptions.Modal := true;
  MyReport.PreviewOptions.AllowEdit := false;
  MyReport.PreviewOptions.OutlineVisible := false;
  MyReport.PrintOptions.ShowDialog := false;
  MyReport.ReportOptions.Compressed := true;

  frmPreviewer := TfrmPreviewer.Create(nil);
  frmPreviewer.form_name:='Daily Statement';
  MyReport.PrepareReport;
  MyReport.Preview := frmPreviewer.Preview;
  frmPreviewer.ShowModal;
end;

Me lei la ayuda de Fast Report 4 y solo tiene explicado un informe con Group Header y un Master Data al estilo de una factura.

Última edición por elarys fecha: 15-01-2010 a las 20:52:51.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Datos repetidos en un master/detail de rave report mcalmanovici Impresión 1 14-01-2010 16:10:37
Datos no se muestran de Grid ftavarez Tablas planas 3 27-06-2007 03:10:53
TRxDBLookupCombo. Problema de desplazamiento en datos repetidos. Jose_Pérez OOP 0 07-02-2006 14:49:32
datos repetidos en tabla marceloalegre SQL 3 03-08-2005 20:37:47
Datos repetidos... SQL... emeceuy Conexión con bases de datos 6 18-08-2003 15:10:41


La franja horaria es GMT +2. Ahora son las 10:35:06.


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