在保存,删除后增加,删除的记录的金额会变化,要触发OnCalcFields事件,
总和才会跟着变化,那怎样触发OnCalcFields事件

解决方案 »

  1.   

    看以下代碼.希望能幫到你.
    procedure TF_SELE.QY_ASELECalcFields(DataSet: TDataSet);//表身計算字段
    begin
     with dataM.QY_ASELE do
      begin
       FieldByName('Price2').AsFloat:=FieldByName('PRICE1').AsFloat*FieldByName('COUNT').AsFloat;
       FieldByName('Count1').AsFloat:=FieldByName('Count').AsFloat;
      end;
    end;
      

  2.   

    續:
    記得要加進form的create事件中
    adoquery1.oncalefields:=adoquery1calefields
      

  3.   

    就是本来的总金额是100的,现在增加了一条记录,金额是10的,那么总
    金额就是110了,计算总金额的公式在OnCalcFields事件,我的意思就是
    在按下保存按钮后触发OnCalcFields事件,重新计算总金额
      

  4.   

    首先数据集的AutoCalcFields属性应设为true,并且数据集中你得确实加了计算字段(没有计算字段时事件不会被触发),系统才会自动触发该事件,
    该事件在以下情况下会被自动触发:
    1、刚打开数据集时
    2、数据集进入编辑状态(daEdit)
    3、从数据库中重新取回数据后
    4、移动记录指针
      

  5.   

    post的时候也可以触发,我刚试过。
      

  6.   


    设置你dataset的计算字段的fieldkind属性:fkCalculated
      

  7.   

    计算字段的fieldkind属性是fkCalculated