![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#5
|
|||
|
|||
|
[Solucionado] LazReport: Calcular Subtotales por página
Hola, lamentablemente ese método no soluciona el problema. Si tengo un informe de 3 páginas, en la primera me muestra $100, en la segunda $100 y en la tercera $100 como subtotales!!!.
De todas maneras ya encontre una solución que paso a explicar por si alguien necesita hacer algo similar. Creo una variable global entera llamada totalPages (increible pero no encontre esta propiedad en el componente TfrReport) Código:
totalPages:Integer; Código:
procedure TForm1.frReport1BeginDoc; begin totalPages:=0; end; Código:
procedure TForm1.frReport1EndPage(pgNo: Integer);
begin
if frReport1.DoublePass and not frReport1.FinalPass then
Inc(totalPages);
end;
Código:
procedure TForm1.frReport1First(Sender: TObject);
begin
total_acum:=0;
total_acum:=total_acum+Sqlite3Dataset1.FieldByName('nombre_del_campo').Value;
end;
procedure TForm1.frReport1Next(Sender: TObject);
begin
if not frPackinglist_det.Eof then
total_acum:=total_acum+Sqlite3Dataset1.FieldByName('nombre_del_campo').Value;
end;
Código:
procedure TForm1.frReport1GetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName='TOTAL_ACUM' then
begin
if frReport1.EMFPages.Count = totalPages then
ParValue:=FormatFloat('0.#0',total_acum)
else
ParValue:=FormatFloat('0.#0',total_acum - Sqlite3Dataset1.FieldByName('nombre_del_campo').Value);
end;
end;
Código:
begin Text:=TOTAL_ACUM; end; Con esto logro tener subtotales acumulativos por página Espero que les sirva, adjunto un PDF para que se vean los resultados, tener en cuenta que el total esta tomado de la base de datos y el sub total es el valor calculado, con eso se confirma que el metodo funciona bien. http://www.mgscreativa.com/Invoice_DB-10-0548.pdf Última edición por razor7 fecha: 20-08-2010 a las 02:34:31. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consulta con Subtotales. | manueljgomezc | Firebird e Interbase | 6 | 29-07-2010 17:14:39 |
| lazreport problemas lazarus | anubis | Lazarus, FreePascal, Kylix, etc. | 1 | 30-11-2009 20:44:39 |
| Subtotales al comienzo | yusnerqui | Varios | 6 | 08-06-2006 16:02:20 |
| En los subtotales por pagina | alcides | Impresión | 0 | 07-06-2005 20:20:06 |
| Subtotales en QuickReport | raugadel | Impresión | 3 | 12-05-2004 16:13:49 |
|