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.
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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.