У меня проблема с точностью в инструменте отчетности, который я использую.Проблема заключается в том, что он читает данные из набора данных TADOD на лету, но преобразует поля ftBCD в значения типа double.
Это приводит к ошибкам округления при выполнении операций на уровне отчетов (суммы и т. Д.).
Я бы хотел указать свои валютные поля как ftCurrency, а не ftBCD, чтобы не допустить этого.
Если я создаю поле как:
TFieldDef.Create( ADODataset.FieldDefs,
'test',
ftCurrency,
0,
True,
0
);
ADODataset.CreateDataSet;
Используя часы, я могуТеперь посмотрим, что ADODataset.Fields[0].DataType
имеет значение ftBCD.
Есть ли способ явно указать поле ftCurrency в наборе данных TADOD, чтобы оно не назначалось как поле ftBCD?