Попытка загрузить файл Excel в ms-access, где текстовое поле содержит символ @ - PullRequest
0 голосов
/ 30 марта 2020

Первая публикация здесь ...

Мое приложение доступа будет иметь ежемесячный процесс, когда пользователь должен загружать файлы Excel, содержащие остатки на счетах. Одно поле иногда содержит символ @ как часть номера счета - это поле является коротким текстовым полем в таблице базы данных.

Доступ помечает это как нарушение. Есть ли вообще доступ для поддержки этого персонажа? если нет, то есть ли способ автоматически удалить символ или заменить его другим символом?

Вот что я использую для загрузки файла Excel в доступ ...

DoCmd.TransferSpreadsheet acImport, 9, «TempAccountBalances», [TempVars]! [varTBFileName], True

В некоторых случаях фактический файл Excel содержит 4182 @ в поле «Номер счета».

Файл импортируется правильно для все строки Excel, кроме тех, которые содержат символ @ в поле Account #. Каждая из этих строк генерирует строку во вновь созданной таблице с именем xxx_ImportErrors с TypeConversionFailure в поле Error. Access автоматически создал эту таблицу на своем собственном

Обновить ... Немного больше информации ... Когда я импортирую файл с помощью ленты доступа - Внешние данные - Новый источник данных - Файл Excel Импортирует поля Account # без ошибок при импорте в новую таблицу

Но когда я импортирую в существующую таблицу, я получаю те же сбойные строки, что и DoCmd выше. ВСЕ свойства поля Account # в новой таблице идентичны существующей таблице TempAccountTable, использованной выше ???

Спасибо! Mike

1 Ответ

0 голосов
/ 06 апреля 2020

ОК - это вызвано тем, что Access определил тип поля на основе первых X строк импортированного файла Excel. Поэтому мне нужно использовать файл спецификации импорта, чтобы принудительно указать тип поля. Это вызвало у меня еще одну проблему, которую я опубликую отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...