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)
-   -   sumar una columna DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=34450)

cancerbero 09-08-2006 22:14:17

sumar una columna DBGrid
 
bueno amigos tengo un problema el cual deseo sumar solo la columna de un dbgrid y la suma de esta columna la tengo que acumular en un edit, estuve viendo eso de las columnas calculadas pero no le entendi mucho, asi que agradeceria una ayudita....gracias

roman 09-08-2006 22:40:09

Realmente el dbgrid no está hecho para eso, no es una hoja de cálculo. Lo más conveniente, creo yo, es que hagas una consulta sql directamente:

Código SQL [-]
select sum(campo) from tabla

// Saludos

cancerbero 10-08-2006 02:50:23

bueno roman ya intente eso pero el problema es q tengo q acumular los datos de una sola columna y no me suman el total ese es mi problema, ya intente con una consulta sql pero no me da resultado solo suma los valores de la fila pero no asi de las columnas, agradeceria las sugerencias

Enan0 10-08-2006 16:17:16

Perdon, pero el codigo que te dio roman hace la suma de la columna (campo) para todos los registros.
es decir.

si tu tabla es digamos que asi (y de nombre TablaSueldo)

ID____Legajo_____Sueldo____Horas
01____0001_______1000_______80
02____0002_______1500______120
03____0003________800______170

y ejecutas
Código SQL [-]
Select Sum(Sueldo) AS total From tablaSueldo
El resultado del campo Total seria 3300

Tambien podrias aplicar la condicion where para hacer algun filtrado. pero no variaria en nada el funcionamiento del SUm

amed45 11-08-2006 17:11:25

sumar columnas de un dbgrid
 
Esto es facil insertas un adoquery lo conectas a la base de datos le pones una consulta de seleccion

SELECT * FROM('nombre de la tabla');
despues pones un boton o lo que sea y le pones este codigo

adoquery1.active:=true;
adoquery1.first;
total:=0;
while adoquery1.eof=false do
begin
total:=total+adoquery1.fieldbyname('el nombre del campo que vas a sumar').asfloat;
adoquery1.next;

end;
y el la variable total se te va a almacenar la suma de los elementos de la columna que se corresponde con el campo

Te aseguro que funciona poruqe yo lo he utilizado recientemente.

cancerbero 11-08-2006 18:49:37

Gracias a todos los amigos del foro por sus respuestas, ya solucione el problema a mi consulta, lo que hize fue colocar un adoquery al cual le pase una consulta con el numero de la proforma y me saca el total el cual lo pase a un dbedit.
la consulta que ejecuto es la siguiente espero q le pueda servir a los demas, tambien pense en hacer lo q me dice amed45 pero me resulto mas efectiva la consulta.

SELECT DISTINCTROW detalle.idproforma, Sum(detalle.precio) AS [Suma De precio]
FROM detalle
GROUP BY detalle.idproforma


La franja horaria es GMT +2. Ahora son las 14:42:55.

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