Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Campos calculados y ADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=25762)

kikodelphi 03-10-2005 15:53:50

Campos calculados y ADOQuery
 
Hola

Estoy haciendo un sistema de gestion , y queria hacer una cuenta corriente.
En mi form tengo una grilla , que muestra el resultado de mi query .

Este devuelve una columna debe y otra haber , lo que quiero es calcular el saldo por cada fila de la consulta.

Esto lo intentaba resolver desde mi query pero no pude hacerlo , luego se me ocurrio que podia usar un campo calculado.
Esto funciona, pero al hacer foco sobre la grilla y moverme por ella se dispara el evento OnCalculate y me arruina las cosas .
Miramdo la ayuda decia que si la propiedad AutoCalField estava en Falso esto no ocurriria , pero no es asi .

Alguien sabe porque, o sabe otra forma de resolver esto.


PD:Lo que yo esperaba como resultado en la grilla era

Haber Debe Saldo

10 0 10
5 0 15
......................
................

jmariano 04-10-2005 13:54:20

¿Como estás haciendo el cálculo en el evento OnCalcFields? (Sería bueno que pusieras algo de código para ver donde estaría el error)

Saludos!

kikodelphi 05-10-2005 15:51:44

Este es el código del evento, donde PSaldoCta es una propiedad para sostener la suma.

procedure TmoduloDato2.ResumenVtaCalcFields(DataSet: TDataSet);
begin
PSaldoCta := PSaldoCta + ((ResumenVta.FieldByName('Debe').value) - (ResumenVta.FieldByName('Haber').value)) ;
ResumenVta.FieldByName('Saldo').value := PSaldoCta ;
end;

Reitero que el problema es que al mover el cursor en forma vertical, se dispara nuevamente el cáculo. En la ayuda dice que si la propiedad AutoCalcFields = falso este comportamiento no debería existir, o sea el evento OnCalculate no se debería disparar. ???

Gracias por ocuparte


La franja horaria es GMT +2. Ahora son las 12:05:17.

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