PDA

Ver la Versión Completa : Ayuda con DBGrid.


Shidalis
07-12-2005, 19:03:16
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
ahora quiero saber como puedo sacar la sumatoria de toda la columna donde se encuentra ese campo calculado



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?


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