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 23-08-2005
LucianoRey LucianoRey is offline
Miembro
 
Registrado: feb 2004
Posts: 73
Poder: 21
LucianoRey Va por buen camino
Quickreport y totales al final de la impresion

  • Hola, quisiera me ayudaran con mi siguiente problema:
Tengo un reporte con corte por grupos de 4 categorias, al final del reporte mando el total global, y ademas subtotales por cada categoria, es decir:


Categoria cantA cantB cantC
Niño 120 20 15
Adulto 40 10 5
Local 160 30 20

Niño 100 50 15
Adulto 10 25 3
Foraneo 110 75 18

RecintoX 270 105 38

Niño 110 10 18
Adulto 30 10 7
Local 140 20 25

Niño 150 50 14
Adulto 17 30 1
Foraneo 167 80 15

RecintoY 307 100 63

AreaX 577 205 101

Gran total ___________________
Total Niño ___________________
Total Niño Local ___________________
Total Niño Foraneo ___________________

Total Adulto ___________________
Total Adulto Local ___________________
Total Adulto Foraneo ___________________.,



ahora esos subtotales, los pinto por medio de qrlabels, dentro de mi programa hago las sumas de esos subtotales, y al terminar el reporte, mando las cantidades a los labels, la primera vez bien, pero las posteriores me deja antiguos valores.
Ya probe poniendo una cadena vacia a mis labels antes de imprimir la banda que los contiene, pero no me funciono ó no lo supe hacer, tambien puse algunos qrexpression's (caption, expresion), pero no pude hacer que pintara algo, tambien dentro de la popiedad expression hice la suma de las variables de mi programa y nada.

Una disculpa tambien porque no pude alinear aqui, mi ejemplo de totales, pero espero se entienda.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 23-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
1.- Puedes alinear utilizando las etiquetas code:
Código:
Categoria cantA cantB cantC
Niño	 120	20	15
Adulto 40 10 5
Local 160 30 20
2.- ¿Pusiste los QRExpression en una SummaryBand?
En mi reporte coloco QRexpressions en una SummaryBand y haciendo las operaciones en la propieedad expression me da los resultados sin problemas.
__________________

Responder Con Cita
  #3  
Antiguo 23-08-2005
LucianoRey LucianoRey is offline
Miembro
 
Registrado: feb 2004
Posts: 73
Poder: 21
LucianoRey Va por buen camino
Quickreport y totales al final

Si los tengo en un banda de tipo Summary, tengo mi banda de detalle y en ella pongo los campos que quiero que salgan.
Luego en cada banda de grupo pongo un qrexpression y en su propiedad pongo sum(campo), luego al final del reporte en la banda Summary, para el total global hago lo mismo.
Pero en los totales por grupo, como no me funciono asi, puse labels y dentro de mi programa, defini algunos variables de tipo registro, luego cada vez que pasa por el detail hago la suma por grupos para dejarla en estos registros, es decir:

Código:
 if DataModule1.ADOQuery1.FieldValues['column3'] = 'DISTRITO FEDERAL' then
  begin
   if DataModule1.ADOQuery1.FieldValues['column4'] = 'Niño' then
	begin
	 nSumaInfDf.EneA := nSumaInfDf.EneA + DataModule1.ADOQuery1.FieldValues['enea'];
	 nSumaInfDf.FebA := nSumaInfDf.FebA + DataModule1.ADOQuery1.FieldValues['feba'];
   else if DataModule1.ADOQuery1.FieldValues['column4'] = 'Adulto' then
	begin
	 nSumaAduDf.EneA := nSumaAduDf.EneA + DataModule1.ADOQuery1.FieldValues['enea'];
	 nSumaAduDf.FebA := nSumaAduDf.FebA + DataModule1.ADOQuery1.FieldValues['feba'];
	 nSumaAduDf.MarA := nSumaAduDf.MarA + DataModule1.ADOQuery1.FieldValues['mara'];
	 nSumaAduDf.AbrA := nSumaAduDf.AbrA + DataModule1.ADOQuery1.FieldValues['abra'];
 else if DataModule1.ADOQuery1.FieldValues['column3'] = 'PROVINCIA' then
  begin
   if DataModule1.ADOQuery1.FieldValues['column4'] = 'Niño' then
	begin
	 nSumaInfPr.EneA := nSumaInfPr.EneA + DataModule1.ADOQuery1.FieldValues['enea'];
	 nSumaInfPr.FebA := nSumaInfPr.FebA + DataModule1.ADOQuery1.FieldValues['feba'];
y luego antes de imprimir el summary, asigno los valores de mis registros a los qrlabels, lo hice asi porque no me funciono cuando puse qrexp.. en lugar de qrlabels.
Responder Con Cita
  #4  
Antiguo 23-08-2005
LucianoRey LucianoRey is offline
Miembro
 
Registrado: feb 2004
Posts: 73
Poder: 21
LucianoRey Va por buen camino
Quickreport y totales al final

Ah, se me olvidaba, la forma en que trate de asignar los valores a los qrexpression la hice de las siguientes formas:
Código:
QRExpr1.Caption:=IntToStr( nSumaInfDf.EneA + nSumaAduDf.EneA ); y nada
QRExpr1.Value no supe como usarlo
QRExpr1.Expression:=IntToStr( nSumaInfDf.EneA + nSumaAduDf.EneA ); y nada
y poniendo en la propiedad Expression, la formula SUM( nSumaInfDf.EneA + nSumaAduDf.EneA ) y nada, saludos y gracias.
Responder Con Cita
  #5  
Antiguo 24-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cita:
QRExpr1.Expression:=IntToStr( nSumaInfDf.EneA + nSumaAduDf.EneA ); y nada
Es que mas bien creo que aqui se utiliza de la siguiente forma:
Propiedad Expression = Sum(Campo3)
para que te de la suma.

Count(campo), AVG(campo), etc, etc... puedes utilizar el editor de la propiedad expression para ver cuál es la función que necesitas.
__________________


Última edición por ContraVeneno fecha: 24-08-2005 a las 17:33:57.
Responder Con Cita
  #6  
Antiguo 25-08-2005
jdangosto jdangosto is offline
Miembro
 
Registrado: jun 2004
Posts: 82
Poder: 20
jdangosto Va por buen camino
¿Por que no utilizas una simple consulta en un tquery?

El resultado lo plasmas en el informe y creo que te evitaría muchos quebraderos de cabeza.

Ya sabes...
Código SQL [-]
Select SUM(campo1) from tu_tabla;
__________________
Lo que los Ojos ven y los Oidos Oyen la Mente se lo Cree (H.Houdini)
Responder Con Cita
  #7  
Antiguo 25-08-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
En realidad un QRExpression que funcione correctamente ahorraría un uso inecesario de un TQuery extra.
__________________

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


La franja horaria es GMT +2. Ahora son las 21:38:23.


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