Проблема с полями ftCurrency с наборами данных ADOD - PullRequest
0 голосов
/ 03 сентября 2010

У меня проблема с точностью в инструменте отчетности, который я использую.Проблема заключается в том, что он читает данные из набора данных TADOD на лету, но преобразует поля ftBCD в значения типа double.

Это приводит к ошибкам округления при выполнении операций на уровне отчетов (суммы и т. Д.).

Я бы хотел указать свои валютные поля как ftCurrency, а не ftBCD, чтобы не допустить этого.

Если я создаю поле как:

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

ADODataset.CreateDataSet;

Используя часы, я могуТеперь посмотрим, что ADODataset.Fields[0].DataType имеет значение ftBCD.

Есть ли способ явно указать поле ftCurrency в наборе данных TADOD, чтобы оно не назначалось как поле ftBCD?

1 Ответ

0 голосов
/ 03 сентября 2010

Попробуйте это:

ADODataSet.FieldByName('AField').Currency := True;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...