2013-10-02 7 views
0

У нас есть программа, которая преобразует XML-файл в базу данных Access. Несколько месяцев назад один из ваших клиентов попал в ошибку, значения для 2 полей в таблице были не совпадают с XML-файлом, значение было усечено. Чтобы исправить проблему, мы меняем те 2 поля от Single To Double и все в порядке.База данных доступа Двойное значение поля не сохраняется правильно

Сегодня один из ваших сотрудников использует эту новую версию программы и сталкивается с другой ошибкой. Проблема в том, когда значение сохраняется из файла XML, оно изменяется. Пример: значение из файла XML составляет 3628.40 и Access save 3628,39990234375, и когда мы запрашиваем значение, получаем 3628,39990234375. Есть ли способ получить хранилище Access 3628.40 без изменения типа поля?

Я знаю, что проблема не исходит из программы, преобразование SQL Server сохраняет значение превышения в поле Double.

ответ

3

ТОЛЬКО вы хотите использовать типы данных с плавающей точкой, когда абсолютная точность не важна. Это на самом деле довольно редко.

Если важно, как указал ваш клиент, вам необходимо использовать тип Decimal или Money в зависимости от системы.

+0

ps Access не имеет типа Денежные данные – Brad

+1

@Brad: в доступе это называется «Валюта», что то же самое. – NotMe

+0

Я хотел избежать изменения, но мне придется переписать немного приложения, чтобы использовать десятичное число. Спасибо – Stephan

-1

Я бы посмотрел, где хранятся данные в таблице, и посмотрите, какой тип он есть, и измените его на валюту или учет. Учет обеспечивает более чистый внешний вид и легче читать, ИМХО. Вы не упоминаете, как вы выводите ... документ Excel? Отчет Word? Экспорт в SharePoint?

Также я бы предположил, что это XML-файл, который усечен при импорте ... Доступ показывает только импортированное значение. Как исходное значение хранится в XML-файле? Были ли какие-либо изменения в конце ввода данных? Если кто-то не вошел и не изменил что-то, я не думаю, что ваша база данных - это не так.

Начните с пользователя, следите за процессом ввода и убедитесь, что это правильно, прежде чем возиться с вашим db. Просто мысль.

Смежные вопросы