PDA

Ver la Versión Completa : FreeReport y campos calculados


decuteo
12-04-2007, 14:16:11
Hola a todos

He estado buscando información por todos sitios, leídos manuales y foros pero no he podido encontrar la solución a mi problema.

Os hago una breve descripción del mismo, pero antes os describo el entorno de desarrollo. Trabajo con Delphi 7 y FreeReport

Tengo una consulta, que en ejecución, se monta en función del contenido de dos ListBox, bien, el problema viene cuando quiero sumar una columna y colocar el resultado en una nueva (pero sólo en el report).

Mas o menos sería esto


CUENTA ASIENTO DESCRIPCION IMPORTE SALDO

400000 1111 HOLA MANOLA 2 2
400001 2121 MANOLA HOLA 10 12
400002 3131 PEDRO Y MANOLA 5 17


La columna SALDO es la que no se como plantear en un report, he intentado trabajar con el frReportGetValue, pero no me aclaro mucho y de tanto mirar y probar al final estoy mas perdido que un indio.

Si me podeis hechar una mano os lo agradeceré.

Atte
Juan J. Royo

Combat-F2D
12-04-2007, 14:38:06
el problema viene cuando quiero sumar una columna y colocar el resultado en una nueva (pero sólo en el report).

como en una columna nueva??

será en una variable y luego imprimir esta))

decuteo
12-04-2007, 15:43:31
correcto, la columna no es necesario crearla, simplemente con que se pueda ver el acumulado es suficiente, no me expliqué bien.

Gracias

Combat-F2D
13-04-2007, 09:39:35
es sencillo;

suponiendo que el campo saldo lo obtines del mismo dataset que el resto de los campos, en tu informe o reporter, crea otro memo, y en sus propiedades, busca la funcion SUM('TUCAMPOSALDOATOTALIZAR')

con esto debera de ser suficiente

decuteo
13-04-2007, 10:54:05
Gracias Julio, lo pruebo y te cuento.

Gracias

decuteo
14-04-2007, 13:17:14
Pues no, no ha funcionado, no me aparece nada a no ser que lo ponga en un 'Page Footer' y no es eso lo que quiero conseguir. En el FreeReport he puesto lo que me dices [sum([Query1."DATO2"].MasterData1)], lo he probado tanto con el MasterData1 final como no, sin ningún resultado.


Ahora estoy probando con el evento OnGetValue, pero no me aclaro bien bien como se hace.

Es así?

En el evento


procedure TForm1.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
frvariables['suma']:=Query1DATO2.AsInteger;
end;


Pero no encuentro la manera de pasarlo al report, pues no puedo añadir la variable 'suma'.