Подтвердить что ты не робот

Экспорт таблиц MS Access через VBA в таблицу Excel в том же каталоге

У меня есть две таблицы в моей базе данных доступа, которые я хочу экспортировать в excel.

Я могу сделать это, открыв таблицу, а затем сделав File- > Export..., а затем выбрав формат и введя имя файла.

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

Что я хочу сделать, это сделать кнопку в форме, которая автоматически экспортирует одну таблицу в один рабочий лист, а другую в другую таблицу, как в той же книге excel.

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

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

4b9b3361

Ответ 1

Вы можете использовать VBA для экспорта таблицы базы данных Access в качестве рабочего листа в книге Excel.

Чтобы получить путь к базе данных Access, используйте свойство CurrentProject.Path.

Чтобы указать файл рабочей книги Excel с текущей датой, используйте метод Format(Date, "yyyyMMdd").

Наконец, чтобы экспортировать таблицу в качестве листа, используйте метод DoCmd.TransferSpreadsheet.

Пример:

Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True

Это приведет к выводу как таблиц 1, так и таблицы 2 в ту же рабочую книгу.

НТН

Ответ 2

Лоуренс дал вам хороший ответ. Но если вы хотите получить больше контроля над тем, что экспортируется в Excel, см. Модули: пример автоматизации Excel - ячейка по ячейке, которая медленная и Модули: перенос записей в Excel с помощью автоматизации Вы можете делать такие вещи, как экспорт набора записей, начиная со строки 2, и вставлять собственный текст в строке 1. Как и любой пользовательский требуется форматирование.

Ответ 3

Для людей, которые находят это через поисковые системы, вам не нужен VBA. Вы можете просто:

1.) select the query or table with your mouse
2.) click export data from the ribbon
3.) click excel from the export subgroup
4.) follow the wizard to select the output file and location.