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 12-05-2004
raugadel raugadel is offline
Miembro
 
Registrado: dic 2004
Posts: 31
Poder: 0
raugadel Va por buen camino
Question Subtotales en QuickReport

Necesito hacer subtotales por trimestre de un campo.
Tengo los campos mes, año e importe.
Necesito saber la suma de los importes por trimestre.
¿Como lo puedo hacer?
Responder Con Cita
  #2  
Antiguo 12-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Ahora no se si directamente con un TQrExpr se podría hacer, pero lo que seguro puedes hacer es controlar el evento BeforePrint de la banda donde se imprime año, mes,... y hacer sumatorios según los meses que sean en variables para luego imprimirlas
Responder Con Cita
  #3  
Antiguo 12-05-2004
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Poder: 21
rafita Va por buen camino
Buenas,

te pongo un pequeño ejemplo de como lo hago yo:

Banda de título del inform o de cabecera de página... según tus necesidades.

Banda de grupo (QRGroup1) con la cabecera
QRGroup1.Expression: QImpTrabajo.Anno; // el campo de ruptura del grupo
QRGroup1.FooterBand: QRBand5; // la banda donde aparecerán los subtotales del grupo

Banda de detalle con todos los campos

Banda de pie de grupo con los subtotales (QRBand5)
QRBand5.BandType: rbGroupFooter;
QRBand5.LinkBand: QRGroup1; // cierra el enlace con su cabecera de grupo
Aquí tienes que utilizar un componente QRExpr con un contenido similar a este
'Suma Importes: '+SUM(QImpTrabajo.IMPORTE)+' Euros'

Esto te lo digo de cabeza, si tienes algún problema mándame un mensaje personal, aunque no estaré disponible hasta el miércoles 19 de mayo.

Ta´luego...
Rafa.
__________________
Rafita.
Responder Con Cita
  #4  
Antiguo 12-05-2004
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 22
SnaKe Va por buen camino
Bien, supon esto:

Pones una Query que te devuelve como dices: mes, año e importe, algo de tipo:

Código SQL [-]
select
  mes, ano, importe
from tutabla
order by mes, ano // Esto es importante

A esa query le cargas los campos persistentes.

Le creas un nuevo campo persistente calculado que llamas por ejemplo trimestre y en el evento OnCalcFields de la query (y asegurate que la propiedad AutoCalcFields de la query está true) haces algo asi:

Código Delphi [-]
if (QConsultaMES.AsInteger <= 3) then
  QConsultaTRIMESTRE.AsInteger = 1
else if (QConsultaMES.AsInteger <= 6) then
  QConsultaTRIMESTRE.AsInteger = 2
else if (QConsultaMES.AsInteger <= 9) then
  QConsultaTRIMESTRE.AsInteger = 3
else
  QConsultaTRIMESTRE.AsInteger = 4;

Ahora ya montas el informe con las bandas que te han indicado anteriormente pero en la propiedad Expression de la banda de grupo pones que el campo que supone el cambio de grupo es: Trimestre (de la Query).

A mi me parece la solución más "limpia" pero seguro que hay otras.

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
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 07:10:04.


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