В этом руководстве по Access VBA будет рассказано, как взаимодействовать с отчетами Access с помощью VBA.
Распечатать отчет
Эта функция VBA распечатает отчет о доступе:
Открытая функция Print_Report (ReportName As String) При ошибке GoTo SubError DoCmd.OpenReport ReportName, acViewPreview,,,, acHiden DoCmd.SelectObject acReport, ReportName DoCmd.RunCommand acCmdPrint SubExit: Exit Function SubErrorL: Msgreb. Число & ":" & Err. Описание Конец Функция
Вы можете вызвать функцию так:
Частная подписка Print_Report_Example () Вызов Print_Report ("Report1") End Sub
Обратите внимание, что функция использует следующую строку кода для печати отчета:
DoCmd.RunCommand acCmdPrint
после открытия и выбора отчета (см. следующий раздел).
Открыть / Выбрать отчет
Вышеупомянутая функция использовала DoCmd.OpenReport для открытия отчета:
DoCmd.OpenReport "Report1", acViewPreview,,,, acHiden
Примечание. В этом примере мы заменили переменную ReportName с именем таблицы «Отчет1»
Затем он выбирает отчет:
DoCmd.SelectObject acReport, "Report1"
Отфильтровать отчет
Вы также можете отфильтровать отчет, открыв отчет с определенными критериями:
DoCmd.OpenReport "Report1", acViewPreview,, "num = 0"
Экспорт отчета в Excel
Вы можете использовать DoCmd.OutputTo для вывода отчета в Excel:
DoCmd.OutputTo acOutputReport, «Rpt1», acFormatXLS, «C: \ examples \ report1.xls»
Эта функция VBA экспортирует отчет в Excel:
Открытая функция Export_Report (ReportName As String, FilePath As String) On Error GoTo SubError DoCmd.OutputTo acOutputReport, ReportName, acFormatXLS, FilePath SubExit: Exit Function SubError: Call Export_Report («Report1», «c: \ templs \ ExportedReport.x Конечная функция
Функция сохранит файл во введенный путь к файлу, но если путь к файлу не выбран, он будет сохранен во временную папку на диске C.
Вы можете вызвать функцию так:
Частная подпрограмма Export_Report_Example () Вызов Export_Report ("Rpt1", "C: \ examples \ report1.xls") End Sub
DoCmd.OutputTo выводит в новый файл. Вместо этого вы можете выводить данные в существующий файл или использовать DoCmd.OutputTo для вывода других объектов Excel. Вы можете узнать больше в нашей статье об импорте / экспорте в Access VBA.