我在一个表中加入一个计算字段...
但在窗体打开时,就出错提示:g不在Edit or Insert Mode

解决方案 »

  1.   

    你是不是在OnCalcFields事件中做了insert、update、delete的操作?
      

  2.   

    breezing(为这个没名没份的年头干一杯) 没有 加入其他代码procedure TfrmSetDevFee.qDetailCalcFields(DataSet: TDataSet);
    begin
      inherited;
      qDetail.FieldByName('sThisNum').AsFloat:=qDetail.fieldbyname('fCurNum').AsFloat -qDetail.Fieldbyname('fPriNum').AsFloat;end;
    去掉这句就不会出错.
    另在窗口打开出现:
    Access violation at address 004D5EAD in module 'roson.exe'.
    read of address 0000000
    然后里面什么数据也没有.主--从窗体
      
      

  3.   

    inherited;下面加
    qDetail.Edit;
      

  4.   

    这个在oncreate事件上已写明if not qDetail.Active then qDetail.Open else qDetail.Requery();
      

  5.   

    qDetail.FieldByName('sThisNum') 这个字段的设置,是不是为计算字段
      

  6.   

    如果是计算字段那根本不用在edit or insert状态下啊
      

  7.   

    在这个之前判断是不是为空
    qDetail.fieldbyname('fCurNum').AsFloat -qDetail.Fieldbyname('fPriNum').AsFloat;