У меня есть таблица в Доступе, который я экспортирую в Excel, и я использую код VBA для экспорта (потому что я на самом деле создаю отдельный файл Excel каждый раз изменения client_id, который создает 150 файлов). К сожалению, я проигрываю, продвижение обнуляет, когда я делаю это использование DoCmd. TransferSpreadsheet. Я смог разрешить это цикличным выполнением через записи и пишущий каждую ячейку по одному (и форматирующий ячейку, прежде чем я запишу в него). К сожалению, это приводит к 8 часам времени выполнения. Использование DoCmd. TransferSpreadsheet, это работает через час (но затем я проигрываю, продвижение обнуляет). Есть ли какой-либо путь вообще, чтобы сказать Excel просто рассматривать каждую ячейку как текст при использовании команды TransferSpreadsheet? Кто-либо может думать о другом способе сделать это, которое не займет 8 часов?Спасибо!
префикс значения Excel с апострофом ('). Апостроф указывает Excel обрабатывать данные как «текст».
Как в;
0001 'Excel treats as number and strips leading zeros
становится
'0001 'Excel treats as text
Вам, вероятно, потребуется создать поле выражения, чтобы префикс поля с апострофом, как в:
SELECT "'" & [FIELD] FROM [TABLE]
Что если вы:
Если данные Excel предназначены для чтения человеком, можно подойти к делу творчески, например, скрыть столбец данных и добавить столбец "display", который ссылается на столбец данных, но удаляет "x".
В качестве альтернативы другому моему предложению вы играли с командой Excel «Импорт внешних данных»? Используя Access VBA, вы можете перебирать своих клиентов, открывать файл Excel с шаблоном, импортировать данные (т. Е. Извлекать, а не проталкивать) с вашим клиентом в качестве критерия и сохранять их с уникальным именем для каждого клиента.