我用的是ADO连接到ACCESS数据库,假设一个表有三个字段a,b,c:a,b两个字段是自己直接录入的,c字段是由a,b字段计算得出的,现在我想通过修改a,b字段然后写到数据库中后,c字段能够自动更新,不知道该怎么实现呢?

解决方案 »

  1.   

    使用计算字段
    ADOQuery 双击 添加计算字段
    然后 写入如下代码
    procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
    begin
      dateset.fieldbyname('c').asfloat:=dateset.fieldbyname('a').asfloat+dateset.fieldbyname('b').asfloat;
    end;
      

  2.   

    不知道Access有没有触发器,有的话就很好办了,
    如果没有,只能从前台控制了。就是在插入的时候:
    insert into table (a,b,c)
    values (x,y,x+y)
    修改的时候:
    update table set a=x,b=y,c=x+y where ...
      

  3.   

    我用的adodataset控件。
    在adodataset的a,b两个字段的onchange 或者settext事件里计算出c字段的值。
    楼上说的方法效率不是很高,而且不太灵活。
      

  4.   

    access如果有触发器的话,那 microsoft就不用出Sql Server了。
      

  5.   

    这样子:
       在AdoDataSet对应的DataSource的OnDataSource事件中写下:
     dateset.fieldbyname('c').asfloat:=dateset.fieldbyname('a').asfloat+dateset.fieldbyname('b').asfloat;
      

  6.   

    在ADOQUERY的BEFOREPOST中加入你的修改.