Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   suma condicionada mediante QREXpr u otra solucion (https://www.clubdelphi.com/foros/showthread.php?t=6477)

ciscu 09-01-2004 19:33:19

suma condicionada mediante QREXpr u otra solucion
 
Hola, qué tal!!!

Tengo un pequeño problemilla, y para solucionarlo os expongo lo que estoy haciendo. Tengo un quickreport en el que aparecen los recibos cobrados y los no cobrados y sus respectivos importes en €, y lo que quiero es que al final de la pagina sólo me aparezca la suma de los cobrados. Lo que he intentado es poner dentro de un qrExpr (en la propiedad Expression) lo siguiente:

if(query.cobrado='Si',sum(query.importesRecibos),0)

donde cobrado es un campo booleano de una query que indico si el recibo está cobrado o no, e importesRecibos donde se especifica el importe.

Podéis ayudarme a solucionar esto o a encontrar alguna otra solución? Os lo agradeceré mucho si lo hacéis

Gracias de antemano;)

marcoszorrilla 09-01-2004 23:58:34

Código:

Sum(if(query.cobrado = True, query.importesRecibos, 0))
Un Saludo.

ciscu 13-01-2004 11:29:54

Hola soy ciscu!!! Aún tengo el problema con el sum del qrExpr
 
Veréis, cuando visualizo el quickreport, cuando el primer recibo que imprime esta cobrado luego la suma que hago al final de la pagina de los NO cobrados se sale cero y viceversa, cuando encuentra el primer recibo que no esta cobrado luego la suma de los cobrados me sale cero.

Podéis ayudarme? Es urgenteeeeeeeeeeeeeeeeeee!!!!!!!

Gracias por haberme contestado!!!!

marcoszorrilla 13-01-2004 14:58:04

El código que te paso funciona. Pon el código que utilizas para ver donde puede estar el error.

Un Saludo.

ciscu 13-01-2004 17:09:58

Hola MarcosZorrilla!!!
 
Este es el código que utilizo:
Sum(if(query.cobrado = true, query.importe, 0)), y la quickrep en la que aparece el qrExpr aparecen los recibos cobrados y los no cobrados agrupados por cliente, detallados de la forma siguiente:

------------------------------------------------------
qrBand(pageHeader),
donde pongo los datos del cliente en cuestión
------------------------------------------------------
qrGroup, donde agrupa a los clientes
------------------------------------------------------
qrBand(detail),
donde se repiten los datos según la query, y aquí es donde
aparecen los recibos cobrados y los no cobrados todos juntos
------------------------------------------------------
qrBand(groupFooter),
linkada al qrGroup y donde pongo 2 qrExpr con
Expresion: Sum(if(query.cobrado = true, query.importe, 0))
y el otro al revés, es decir, los no cobrados:
Sum(if(query.cobrado = false, query.importe, 0))
Y aquí es donde hay el problema: si el primer recibo del Detail
es un recibo con el campo "cobrado"=true solo aparecerá la suma en
un qrExpr y el otro qrExpr será igual a 0, cuando los recibos cobrados
y no cobrados están juntos y por tanto los dos qrExpr tienen que ser
distintos de 0.
--------------------------------------------------------
Puedes encontrar la solución?

Hasta luego, gracias.

marcoszorrilla 13-01-2004 18:20:27

Estoy trabajando y no puedo hacer las comprobaciones pertinentes, pero prueba con esto, me parece que lo propone Borland en unas FAQ.

Este es el código que utilizo:
Sum(if(query.cobrado = true, query.importe, 0.0)),

Un Saludo.

ciscu 13-01-2004 18:41:01

Vivaaaaaaa la vida, vivaaaaa delphi!!!!!
 
Por fin funciona, solo era por "0.0" que no me funcionaba.

Gracias por todo, MarcosZorrilla!!!!


La franja horaria es GMT +2. Ahora son las 16:08:16.

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