Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Sumar columnas de un DBGRID (https://www.clubdelphi.com/foros/showthread.php?t=3983)

magm2000 26-09-2003 14:24:50

Sumar columnas de un DBGRID
 
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:
Código:

  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 , 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


La franja horaria es GMT +2. Ahora son las 00:41:18.

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