Ver Mensaje Individual
  #5  
Antiguo 18-01-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Reputación: 21
jcarteagaf Va por buen camino
Sumar registros

Dependiendo del tipo de conexion que use (BDE,ADO, Sdac, etc.) la solucion seria hacerlo mediante un query como te sugirieron antes (puede ser en el evento onCreate o onShow o en el AfterOpen de tu tabla). Si son tablas en memoria o tablas temporales y la cantidad de datos no es muy grande uso la siguiente funcion:

Código Delphi [-]
function Totalizar(archivo : TDataSet; sField : String) : Double;
var bmReg : TBookmark;
    fTotal : Double;
begin
  with Archivo do
  try
    DisableControls;
    bmReg := GetBookmark;
    first;
    fTotal := 0;
    while not Eof do
    begin
      fTotal := fTotal + Fieldbyname(sField).AsFloat;
      next;
    end;
  finally
    GotoBookmark(bmReg);
    FreeBookmark(bmReg);
    EnableControls;
  end;
  result := fTotal;
end;

En tu caso la llama seria

Código Delphi [-]
Total := Totalizar(Tabla,'TOTAL');

Saludos
Responder Con Cita