请教我下面的语句是那里出错了。  
我的数据库有一个金额字段,我想将这个字段的所有记录统计出来,为何我下面的语句写在窗体创建事件里,但是运行时出错了,而且这个变量又不知道如何赋值给DBGRIDEH,让它可以在最下面实现统计出这个字段的值来,烦请大家指正并完羡这个功能语句。  var c: Currency;  
begin  
  c := dbgrideh1.SumList.SumCollection.Items[0].Sumvalue;  
end;  

解决方案 »

  1.   

    用query 或 table 更好一些
      

  2.   

    用 Table 的OnCalcFields
      fieldbyname('字段').AsCurrency := fieldbyname('字段').AsCurrency + ......+fieldbyname('字段').AsCurrency
      

  3.   

    谢谢楼上各位的指教,但是我的语句写成这样为何在DBGRID的最下方没有统计出数据来的,而且这个是什么事件来的,是在那个时候执行的,烦请指教.
    procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
    begin
     adoquery1.FieldByName('fmoney').AsCurrency:=adoquery1.FieldByName('fmoney').AsCurrency;
    end;