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)
-   -   Ayuda con DBGrid. (https://www.clubdelphi.com/foros/showthread.php?t=28060)

Shidalis 07-12-2005 19:03:16

Ayuda con DBGrid.
 
Disculpen que los moleste nuevamente pero tengo un problemita que no he podido solucionar... Tengo 2 tablas enlazadas en el Mismo DBGrid, cree un campo calculado (SubTotal) en el ADOQuery y este tambien lo muestra en el DBGrid, ahora quiero saber como puedo sacar la sumatoria de toda la columna donde se encuentra ese campo calculado

procedure TFADOC.ADOQuery1CalcFields(DataSet: TDataSet);
begin
AdoQuery1.FieldByName('Total').AsFloat := AdoQuery1.fieldByName('Cantidad').Value * AdoQuery1.fieldByName ('Precio').Value;
end;

esa es la instruccion para llenar el campo calculado

roman 07-12-2005 19:53:22

Cita:

Empezado por Shidalis
ahora quiero saber como puedo sacar la sumatoria de toda la columna donde se encuentra ese campo calculado

Código Delphi [-]
Total := 0;
ADOQuery1.First;

while not ADOQuery1.EoF do
begin
  Total := Total + AdoQuery1Total.Value;

  ADOQuery1.Next;
end;

// Total tiene ahora el gran total.

Pero

¿Por qué no dejas que el servidor haga lo que sabe hacer muy bien?

Código SQL [-]
select sum(cantidad*precio) from tabla

Esta simple consulta te devolverá un registro con el gran total.

// Saludos

Shidalis 07-12-2005 20:38:07

Muchas Gracias Roman, despues de que hice la pregunta se me ocurrio hacer el acumulador pero lo hago dentro del mismo evento OnCalcFields, ahi solo me traigo el valor del campo total y lo uso en el acumulador donde necesito mostrar el valor.

Igual muchas gracias


La franja horaria es GMT +2. Ahora son las 13:20:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi