0

我正在使用的报告工具存在准确性问题。问题是它正在从 TADODataset 动态读取数据,但将 ftBCD 字段转换为双精度值。

在报告级别执行操作(总和等)时,这会导致舍入错误。

我想将我的货币字段指定为 ftCurrency,而不是 ftBCD 以阻止这种情况发生。

如果我创建一个字段为:

TFieldDef.Create( ADODataset.FieldDefs,
    'test',
    ftCurrency,
    0,
    True,
    0
  );   

ADODataset.CreateDataSet;

使用手表,我现在可以看到它ADODataset.Fields[0].DataType的值为 ftBCD。

有没有办法在 TADODataset 中明确指定一个 ftCurrency 字段,这样它就不会被分配为一个 ftBCD 字段?

4

1 回答 1

0

试试这个:

ADODataSet.FieldByName('AField').Currency := True;
于 2010-09-03T10:06:02.987 回答