在数据集的Afterpost中
var sum:integer;
sum:=0;
sum:=sum+table.fieldbyname('金额').asinteger;
Edit1.text:=inttostr(sum); 

解决方案 »

  1.   

    根据query.fieldbyname('').asfloat+strtofloat(edit1.text)计算求得。
    /*************************************/
    /*1、MY TOOL:*************************/
    /*2、Delphi,Oracle,Sybase,C++/C*******/
    /*3、PROJECT:*************************/
    /*3、Boss*****************************/
    /*4、为了五星的目标希望你早点结贴*********/
    /*5、在线技术讨论(QQ):68123095*********/
    /*************************************/
      

  2.   

    谢谢,各位的热心参与,xyxx(雪域雄师)大侠说得对了一半。另外的一半就是我如果把金额字段的值从0改为100,EDIT.text的值是100,但当我把鼠标又移回去把它修改为200时。我的本意是把前面改的100删除,修改为200,在EDIT1.TEXT中显示为200,但是直接在金额字段里改为200的话,哪么EDIT1.TEXT就会变成300。如何处理,如果搞定了马上给分。谢谢。
      

  3.   

    不会吧,按照xyxx(雪域雄师)的方法应该不会出现300,应该是200,你其他的代码有问题,或者是sum没清零,
      

  4.   

    var sum:integer;
    sum:=0;
    sum:=sum+table.fieldbyname('金额').asinteger;
    Edit1.text:=inttostr(sum);
      

  5.   

    回复人: xyxx(雪域雄师) (  ) 信誉:100  2002-06-19 20:47:00  得分:0  
     
     
      在数据集的Afterpost中
    var sum:integer;
    sum:=0;
    sum:=sum+table.fieldbyname('金额').asinteger;
    Edit1.text:=inttostr(sum); 按照他说的应该能满足你的要求。  
     
      

  6.   

    如果是单独的只是显示修改的数据是好办。但是我的意思是假设有五十个记录,EDIT.TEXT1是显示我所有记录的金额字段的值总和,我如果把金额字段的值从0改为100,EDIT.text的值是100,但当我把鼠标又移回去把它修改为200时。我的本意是把前面改的100删除,修改为200,在EDIT1.TEXT中显示为200,但是直接在金额字段里改为200的话,哪么EDIT1.TEXT就会变成300了,再在下面的几个记录中修改几个后,哪么它就会总是在原来的基础上再加修改后的值。这样的话,EDIT1.text1显示的值就不再是所有记录金额字段的和了。谢谢大家,希望大家能帮我再想想