PDA

Ver la Versión Completa : Sumar columnas de un DBGRID


magm2000
26-09-2003, 14:24:50
Hola Quisiera saber como sumar una columna de un DBGrid que se puede modificar y colocar el resultado en una etiqueta. Es decir cada vez que se cambie esa columna la suma cambiará y la etiqueta debe reflejar el nuevo total de todos los valores de esa columna.
Gracias.

javiermorales
26-09-2003, 14:35:17
Al tratarse de un DBGrid, debes tenerlo asociado a una tabla, si la columna se relaciona con un campo, debes crear en el componente de acceso a datos que referencia la tabla un campo calculado, que se actualizará en el evento OncalcFields con cada cambio, ese campo calculado realizará la suma de toda la columna y en el evento AfterPost, podrías hacer que se refrescase la etiqueta.

Espero que te sirva. Un saludo.

Viet
26-09-2003, 14:36:47
Hola :

Podrias hacerlo de varias formas, pero basicamente existen dos:

1) calculando el valor siempre que haya cambios mediante un Scroll
2) con una consulta independiente.

A mi me parece mucho mejor la segunda opcion. Para eso tenes que definir una Query nueva del estilo:

Select Sum(campo)
From TablaX


Y en el evento AfterPost y AfterOpen de el DataSet que tienes apuntando por el DBGrid hacer un Close/Open de tu QueryTotal(la que calcula el total)

Saludos ;)

Ruben_Cu
27-09-2003, 00:40:06
Hola a todos, para lo que quieres puedes leer este hilo (http://www.clubdelphi.com/foros/showthread.php?s=&threadid=3836) , en el tienes una manera de hacer lo que quieres, puede que otra manera sea como escribe javiermorales y quisiera saber como logra sumar una columna con el evento OnCalcFields, este forma no la conozco y agradecería, de ser posible, ver su implementación.
Saludos