en mi aplicación con base de datos estoy haciendo una búsqueda de productos vendidos y una suma de las ventas dependiendo de la fecha que se seleccione en el DateTimePicker, para no complicarme al momento de seleccionar la fecha esta se pasa a un label(lbl_fecha), la busqueda la se realiza perfectamente pero la suma no me la realiza es decir el cuadro de texto(txt_total) donde se debe de visualizar aparece en 0.
para la conexion utilizo un ADOConnection, adoquery, ADOTable, DataSource, DBgrid
el código es:
Código Delphi
[-]
function SumarTotales(Grid: TDBGrid; const AFieldName: string): Currency;
var
BM: TBookMarkStr;
begin
Result:= 0;
with Grid.DataSource.DataSet do
begin
BM:= Bookmark;
DisableControls;
while not Eof do
begin
Result:= Result + FieldByName(AFieldName).AsCurrency;
Next;
end;
BookMark:= BM;
EnableControls;
end;
end;
procedure Tfrm_cortedecaja.DateTimePicker1Change(Sender: TObject);
var
Filtro : String;
begin
lbl_fecha.Caption:=DateToStr(DateTimePicker1.date);
adotable1.Active:=true;
if Adotable1.Locate('fecha',lbl_fecha.Caption,[]) = false then
begin
end
else
begin
AdoTable1.Filtered := False;
AdoTable1.Filtered := False;
Filtro := 'fecha = '+lbl_fecha.Caption;
AdoTable1.Filter := Filtro;
AdoTable1.Filtered := True;
AdoTable1.Open;
AdoQuery1.SQL.Text := 'Select sum(importe) as total from caja '+
' where fecha = '+lbl_fecha.Caption;
AdoQuery1.Active := true;
txt_total.Text := IntToStr(AdoQuery1.Fields[0].AsInteger);
end;
end;