你是什么库:
支持触发器的话就好办。
你明白了吗?在field2 或field3的触发器中写:
field1 = field2 * field3

解决方案 »

  1.   

    在FieldEditor中右键;
    选择NewField;
    填写字段名称;
    选择FieldType为Caculate;
    OK;
    在OnCalcFields事件中对新字段付值就行了
      

  2.   

    参考这个://iFieldKind  1:fkData;2:fkCalculated;3:fkLookup;4:fkInternalCalc;5:fkAggregate;
    procedure TfrmPrint_Allocate.AddIntExtraField(sExtraField :string; DataSet :TADODataSet;iFieldKind :integer);
    var
       T :TIntegerField;
    begin
        ClearExtraField(DataSet.Name+sExtraField,DataSet);
        DataSet.Close;
        T:= TIntegerField.Create(Self);
        T.FieldName:= sExtraField;
        T.Name:= DataSet.Name + T.FieldName;
        T.Index:= DataSet.FieldCount ;
        T.DataSet:= DataSet;    case iFieldKind of
           1:
             begin
                 T.FieldKind := fkData;
             end;
           2:
             begin
                 T.FieldKind := fkCalculated;
             end;
           3:
             begin
                 T.FieldKind := fkLookup;
             end;
           4:
             begin
                 T.FieldKind := fkInternalCalc;
             end;
           5:
             begin
                 T.FieldKind := fkAggregate;
             end;
        end;
    //    T.FieldKind:= fkCalculated;
        DataSet.FieldDefs.Update;end;