В Access 2007 CSV Export: отключить научную запись - PullRequest
4 голосов
/ 18 февраля 2009

При экспорте файла CSV из Access 2007 он автоматически преобразует десятичные дроби в научные обозначения.

К сожалению, инструмент, который их получает, обрабатывает эти поля как текст и отображает их как есть.

Экспортируемые значения взяты из запроса к некоторым связанным таблицам Excel, и они отлично отображаются в представлении запроса.

Есть ли способ отключить автоматическое преобразование в научную нотацию.

т.е. если он отображается как 0,007 в запросе, он будет отображаться как 0,007 в выходной CSV, а не 7E3?

Примечание: я вынужден использовать Excel и Access для этого. Как бы я не хотел переходить на SQL Server, моя жена была бы несчастна, если бы я положил его на ее рабочий ноутбук!

Ответы [ 2 ]

5 голосов
/ 18 февраля 2009

У вас есть несколько вариантов:

  • вы можете использовать функцию Format() непосредственно в своем запросе, чтобы принудительно отформатировать данные в столбцах-нарушителях, например:

    SELECT ID, Format([Price],"standard") as Pricing FROM ORDERS;
    
  • вы можете написать свою собственную процедуру экспорта CSV в VBA.
    Я недавно отправил один как ответ на этот вопрос .

Вы можете легко изменить код для форматирования числовых типов определенным образом.
Если вы не знаете как, дайте мне знать, и я изменю код и выложу его здесь.

1 голос
/ 18 февраля 2009

Вы можете написать небольшое количество кода VBA при доступе, чтобы запросить данные из связанной таблицы или запроса Access и записать их в текстовый файл, создав, таким образом, свой собственный файл .CSV и исключив «Мастер». Мне никогда не нравился мастер экспорта в Access ', я просто создавал файлы сам.

...