我似乎无法在网格中完成这项工作:
procedure TForm1.ABSQuery1CalcFields(DataSet: TDataSet);
begin
// if (ABSQuery1.FieldByName('START_DATE').AsDateTime > 0) and (ABSQuery1.FieldByName('END_DATE').AsDateTime > 0) then
// ABSQuery1.FieldByName('DAYS').AsInteger:= Daysbetween(ABSQuery1.FieldByName('START_DATE').AsDateTime,ABSQuery1.FieldByName('END_DATE').AsDateTime)
//else
// ABSQuery1.FieldByName('DAYS').Value := Null;
end;
为此,我在查询中创建了一个额外的字段(整数类型)。但它不起作用。我得到:
[dcc32 错误] Unit1.pas(64):E2003 未声明的标识符:“Daysbetween”
简短地尝试了这个:
ABSQuery1.FieldByName('DAYS').Value :=
IntToStr(
Daysbetween(ABSQuery1.FieldByName('START_DATE').AsDateTime,
ABSQuery1.FieldByName('END_DATE').AsDateTime)
);
但仍然没有。我怎样才能让它工作?