У меня есть макрос (созданный с помощью мастера макросов), который запускает несколько запросов, а затем выводит таблицу в excel. В таблице указано более 65 000 записей для экспорта форматированных таблиц. Как экспортировать таблицу без форматирования в макросе? Вот ошибка, которую я получаю после запуска макроса.MS Access макрос для экспорта в Excel предел 65к записей
ответ
Я знаю, что вы используете VBA доступа для экспорта записей, но вы думали об использовании DataLink на запрос от первенствует и с помощью VBA доступа, чтобы открыть файл первенствовать и обновить таблицу данных? это, безусловно, устранит любые проблемы с максимальными строками и не должно иметь проблем с сбоем из-за размера экспорта. Если вам нужна дополнительная информация о том, как это сделать, дайте мне знать, и я добавлю дополнительную информацию здесь.
Вот код, запрошенный Энтони Григгсом выше. Но это решение VBA, а не макро-решение, поэтому оно прямо не реагирует на вопрос, как опубликовано. Именно так я работал над проблемой и успешно работал в производстве в течение длительного времени.
Перед использованием этого кода обязательно добавьте ссылку на «Microsoft ActiveX Data Objects 2.8 Library» (или текущую версию для вас), а также «Библиотека объектов Microsoft Excel 12.0» (или текущую версию). Сохранение изменений и завершение в конце имеют решающее значение, в противном случае он оставляет Excel открытым в фоновом режиме, который вы должны убить с помощью диспетчера задач.
Dim rs As New ADODB.Recordset
Dim xl As New Excel.Application
Dim xlWb As Excel.Workbook
Dim xlRange As Excel.Range
xl.Visible = False
xl.ScreenUpdating = False
vcurfilename = "MyFilename.XLSX”
Set xlWb = xl.Workbooks.Open(vcurfilename, 0, False, 5, "password", "password")
rs.Open "Select * from qryMyAccessQuery", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
Set xlRange = xlWb.Worksheets("MyExcelSheetName").Range("A1").Offset(1, 0)
xlWb.Sheets("MyExcelSheetName ").Range("a2:bq25000").ClearContents
xlRange.Cells.CopyFromRecordset rs
xl.Range("Table1").Sort key1:=xl.Range("Table1[[#All],[MyColumnName]]"), _
order1:=xlAscending, Header:=xlYes
On Error Resume Next
xl.Range("table1").Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
rs.Close
xl.Range("table1").ListObject.HeaderRowRange.Find("MyColumnName1").EntireColumn.NumberFormat = "dd-MMM-yy"
xl.Range("table1").ListObject.HeaderRowRange.Find("MyColumnName2").EntireColumn.NumberFormat = "dd-MMM-yy"
xl.Range("table1").ListObject.HeaderRowRange.Find("MyColumnName3").EntireColumn.NumberFormat = "dd-MMM-yy"
xlWb.Close SaveChanges:=True
xl.Quit
DoEvents
- 1. Использование Excel VBA для экспорта данных в таблицу MS Access
- 2. Предел параметров для базы данных MS Access
- 3. Изменения таблицы записей - MS Access
- 4. MS-Word 2010 - макрос для экспорта таблицы в задачи Outlook
- 5. Ms access export to excel
- 6. Редактирование записей в MS Access
- 7. Macro для экспорта таблиц MS Word в листы Excel
- 8. Макрос обновления текстового поля MS Access 2013
- 9. Ошибка экспорта SAS в MS Access: системные ресурсы превышены
- 10. MS Access, управляемый событиями Макрос данных для обновления таблицы (пример)
- 11. Производительность экспорта данных MS Access ужасна
- 12. значения Экспорт в Excel MS Access
- 13. MS Excel макрос для не считая выходных?
- 14. Экспорт запроса MS Access в Excel
- 15. MS Access сумма связанных записей
- 16. удалить макрос autoexec из MS Access 2007
- 17. MS Access 2007: Добавить дату в Excel Экспорт
- 18. Ошибка экспорта плоского файла MS-Access
- 19. Excel VBA для экспорта данных в таблицу доступа MS - Extended
- 20. Как запустить макрос MS Access из python
- 21. MS Access: Командная кнопка для экспорта отчета в файл CSV
- 22. Команды для экспорта базы данных MS Access в Mysql
- 23. Использование DoCmd.OutputTo для экспорта запроса Access в несколько файлов Excel
- 24. Контрольное имя MS Access с номером записей
- 25. MS Access VBA связывание данных и обновление записей от excel
- 26. Экспорт сетки сетки экспорта в Ms Excel
- 27. MS Access: среднее подмножество записей в отчете
- 28. Запуск Excel VBA от MS Access VBA
- 29. Альтернатива MS-Access/Excel для манипулирования таблицами
- 30. MS Access excel formula to Access
Вместо этого попробуйте 'DoCmd.TransferSpreadsheet'. – PaulFrancis
Это работает, но, похоже, время от времени разбивает базу данных. Кажется, это ненадежно? –
Какой тип файла Excel вы экспортируете? .xls может иметь только 65535 строк. Возможно, xxlx сделает трюк, поскольку он вмещает больше строк (если вы еще не сделали этого allready). Возможно, даже попробуйте .xlsb для повышения производительности, поскольку это уменьшает размер файла и значительно быстрее. – Makki