Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sumar En un DBGrid

240 views
Skip to first unread message

PpSoft

unread,
Mar 18, 1997, 3:00:00 AM3/18/97
to

Llevo un par de días intentándolo y no me sale.

¿ En un Grid Normal es fácil acceder a cada uno de los elmentos sin más
que dar el número de columna y el de fila, pero en DBGrid existe alguna
manera de hacer esto?
Mi pregunta es porque quiero sumar todos los valores de una columna del
DBGrid y ponerlos en un Edit.
Este DBGrid representa los datos en una tabla detalle, por lo que no veo
lógico recorrer toda la tabla sumando los valores que pertenezcan a un
determinado registro, Ya que de de ser muy grande esta tabla, se tardaría
mucho.
Yo intento buscar algo que lo pueda tener activado en todo momento como
los CalcFields se activan con el OnCalcFields de la tabla correspondiente.

Gracias!
--
PpSoft
aatweb...@arrakis.es

Oscar Salgado Sánchez

unread,
Mar 18, 1997, 3:00:00 AM3/18/97
to

Hola Colega:
No se si existe una solución específica en Delphi, pero yo
siempre (bueno, siempre no, sólo en los últimos 20 años) he resuelto este tema
creando un campo en la tabla maestra y actualizándolo cada vez que se crea,
borra o modifica un registro de la tabla de detalle. Puede parecer pedestre pero
te aseguro que cuando hablas de más de 50, o 100 registros de detalle sigue
siendo la manera más rápida. Piensa que lo hagas tu a pedal, o la herramienta
por detrás de las bambalinas, estás teniendo que recalcular cada vez y eso
siempre "consume recursos" como se dice ahora (antes decíamos chupa máquina).

Bueno, perdona por el rollo, y espero que te sea util.

Un saludo cordial.
Oscar Salgado Sánchez
osal...@databasedm.es
Madrid - España

Me gustaría morir plácidamente mientras duermo, como mi abuelo,
y no gritando, aterrorizado, como sus pasajeros.

Pere D. Puig

unread,
Mar 18, 1997, 3:00:00 AM3/18/97
to

Hay varias maneras de hacerlo.

1.- Haces un bucle por todos los registros de la tabla o query del detalle
y vas sumando los valores hasta optener el total (esto es lo mejor para
pocos registros, por ejemplo líneas de factura, albarán etc..)

2.- Ejecutas un Query con una sentencia SQL que realice la suma (esto es lo
mejor para gran cantidad de registros y en arquitecturas cliente/servidor).

Recuerda que si el usuario está a medio editar un registro la información
no está todavia en el disco y por lo tanto no se reflejará en la suma, mi
consejo es que no realices esta operación hasta que el usuario termine de
introducir la información.+

PpSoft <aatweb...@arrakis.es> escribió en artículo
<01bc33b0$6b97c360$LocalHost@seto>...

0 new messages