PDA

Ver la Versión Completa : Realizar Suma en Rave Reports


MaSSaKKre
18-08-2008, 18:35:48
Hola, antes que nada buen dia, espero me puedan ayudar a solucionar mi problema.


Trabajo en Delphi 2005 y una Bd en Acces...

Es un sistema de inventario de pcs y dispositivos...

la cuestion es la siguiente, de entre los reportes que avienta mi sistema, me he topado con uno que no soluciono... sucede que necesito imprimir el total de computadoras adquiridas en el 2007,2008 y 2009 (obviamente por ahora 2009 es cero maquinas), la cuestion es que al hacer mi consulta me da el total de equipos por año a como lo deseo... la consula es la siguiente


WITH ADOQUERY1 DO
BEGIN
CLOSE;
SQL.Clear;
SQL.Add('select direccion, count (ID) as total, COUNT(FECHA1) AS F1, COUNT(FECHA2) AS F2, COUNT(FECHA3) AS F3, COUNT(OTRASADMONS) AS OTRAS from tbl_bienes group by direccion ORDER BY DIRECCION');
OPEN;
END;

RvProject1.ProjectFile:= ( (ExtractFilePath( Application.ExeName ) + 'RptTOTALCOMPUTO.RAV'));
RvProject1.Open;
RvProject1.Execute;
RvProject1.Close;


donde Fecha1 refiere al campo de la tabla donde guarda cuales pc se adquirieron en el año 2007, Fecha2 refiere al año 2008, fecha3 al año 2009 y Otrasadmos refiere a equipos comprados en años anteriores al 2007.

hasta ahi no hay ningun problema, incluso en rave reports logro visualizar los datos correctamente, ya que visualizo departamento o direccion, numero de computadoras con las que cuenta y año de adquisicion, todo perfectamente bien... el problema que tengo es que no se como realizar el total de equipos comprasdos en el año 2007+2008+2009 para poder visualizar un dato que diga... Equipos comprados del 2007 al 2009 = a x cantidad, no logro hacer esa operacion en el rave.

para visualizar los datos del todal 2007, total 2008, total 2009 y el de otras administraciones utilizo un control llamado calc text con la propiedad calctype ctSum... como logro sacar una suma general de los datos contenidos en calctext1+calctext2+calctext3 ??? espero haber sido explicito para que me hayan podido entender realmente cual es mi problema.

Espero su pronta respuesta.
Saludos.

egostar
18-08-2008, 18:39:43
Hola

Necesitas crear una banda del tipo grupo y su respectivo "footer" con la expresion Direccion y en el footer incluir un campo de tipo ctSum con el campo F3.

Salud OS

MaSSaKKre
19-08-2008, 17:07:07
Muchas Gracias por responder pero sucenden dos cosas... o no entendi :D o no me explique bien :p... les vosy a mostrar mi reporte como queda impreso... y en realidad lo que quisiera es tener la suma y resultado(viendo el codigo de arriba) de f1+f2+f3... en el ejemplo del reporte que pongo Adquisicion General 2007-2009... deberia tener en resultado en lugar de ese cero, deberia aparecer 13.
el cual es el resultado de la suma de los tres años.... 4 +6 + 3 = 13


espero me hayan comprendido y me puedan ayudar :(

Reporte (http://img207.imageshack.us/my.php?image=rptob4.jpg)

egostar
19-08-2008, 17:20:28
Ok, ya entendí :)

Yo haría esto:


SQL.Add('select direccion, count (ID) as total, COUNT(FECHA1) AS F1, COUNT(FECHA2) AS F2, COUNT(FECHA3) AS F3, COUNT(OTRASADMONS) AS OTRAS,
(count(FECHA1)+count(FECHA2)+count(FECHA3)) as TOTAL from tbl_bienes group by direccion');


También omitiría el Order by ya que al hacer un Group by automáticamente lo ordena. ;)

Salud OS

MaSSaKKre
19-08-2008, 19:06:57
amigo egostar muchisimas gracias de verdad, me funcionó la consulta tal y como usted me la corrigio, la verdad habia intentado hacer una suma a como usted la hizo pero no me funcionaba porque no me sabia bien la sintaxis, de verdad muchas gracias. :D

egostar
19-08-2008, 21:04:36
amigo egostar muchisimas gracias de verdad, me funcionó la consulta tal y como usted me la corrigio, la verdad habia intentado hacer una suma a como usted la hizo pero no me funcionaba porque no me sabia bien la sintaxis, de verdad muchas gracias. :D

Pues que bien que sirvió. :)

Salud OS