hola amigos del foro, mi consulta es la siguiente.
Que alternativa usar a los campos agregados (aggregate) si uso un TQuery, tengo entendido que tales campos son exclusivos de un TClientDataset.
Necesito multiplicar 2 campos y sumar el resultado de todos los registros de una tabla, he creado esta función para realizar el trabajo. Y se ejecuta desde los eventos
AfterOpen, AfterRefresh del TQuery, Y funciona muy bien.
Pero hay algo que no me agrada, y es el movimiento del indicador que se genera en el DBGrid al ejecutarse la funcion en el momento que se realiza una consulta de busqueda. Es por eso que quiero otra alternativa.
Código Delphi
[-]function TfProductos.SumarDBGrid :Currency;
Var
Suma: Double;
Cantidad, Costo: TField;
Marca : TBookmark;
begin
Suma := 0;
with Query1 do begin
Marca := Bookmark;
Cantidad := FieldByName('cantidad');
Costo := FieldByName('costo');
First;
while Not EoF do begin
Suma := Suma + (Costo.AsFloat*Cantidad.AsFloat);
Next;
end;
Bookmark := Marca;
Result := Suma;
end;
end;
Código Delphi
[-]txtTotalCosto.Value := SumarDBGrid;