#ms-access #vba
#ms-access #vba
Вопрос:
У меня есть код MS Access VBA, но, используя его в версии 2016, я получаю сообщение об ошибке.
Я попытался удалить необязательную часть acSpreadsheetTypeExcel12XML
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, TableName:="Drops_Airports", FileName:=out_file, Hasfieldnames:=True, Range:="Airports"
Ошибка в этом коде:
Ошибка времени выполнения 31532 — MS Access не удалось экспортировать данные
.
Комментарии:
1. А что это
out_file
такое ?2. существует ли уже выходной файл?
3. Привет, Патрик, да, выходной файл, в который необходимо экспортировать таблицу из Access, уже существует. Процедура на самом деле заключается в том, что файл Excel уже доступен в том же каталоге, а затем таблицу, созданную в access, необходимо экспортировать в этот файл Excel, который в коде является out_file .
4. Out_file — это переменная для файла Excel, в который будет экспортироваться таблица. Out_file = Pro_Drops.xlsx
Ответ №1:
удалите Range
параметр. Как указано в документации:
Строковое выражение, представляющее собой допустимый диапазон ячеек или имя диапазона в электронной таблице. Этот аргумент применяется только к импорту. Оставьте этот аргумент пустым, чтобы импортировать всю электронную таблицу. При экспорте в электронную таблицу необходимо оставить этот аргумент пустым. Если вы введете диапазон, экспорт завершится неудачно.
Комментарии:
1. Привет, Патрик, большое спасибо за ответ. Я удалю диапазон, а затем проверю и подтвержду обратно. Однако, когда этот код использовался пару дней назад с версией Ms Access 2007, он работал нормально без каких-либо ошибок.
2. На самом деле есть три таблицы, которые необходимо экспортировать в три разных листа одной и той же книги. следовательно, диапазон определяется для трех таблиц в трех разных диапазонах.