在AfterOpen重新计算一个字段,大致如下:
procedure TFrmGridForExport.qryAfterOpen(DataSet: TDataSet);
begin
  qry.First;
  while not qry.Eof do
  begin
        qry.Edit;
        qry.FieldByName('en_usable_t1').AsFloat := 1000;
        qry.Post;
    qry.Next;
  end;
end;在另外一个TADOQuery中添加了一个fkInternalCalc字段,在OnCalcFields事件中计算:
procedure TFrmGridForExport.qryAnalyesCalcFields(DataSet: TDataSet);
var
  sPoolValue: string;
begin
    DataSet.FieldByName('en_power_lowlimite').AsString := '0.00';
end;结果是第一个query中'en_usable_t1字段的值并不是1000,还是之前查询出来的值;
第二个query查询的时候提示找不到en_power_lowlimite这个字段,
以前我都是用Tquery的,按以上的方法写运行都是正常的,现在由于需要改成了ado方式,代码也是差不多的,
结果却成了这个样子,是怎么回事呢,是不是用TADOQuery的时候还要设置什么呢?