Доступ к VBA для экспорта данных на основе запроса в шаблон xlsx, который предопределен для приема экспортированных данных

В настоящее время мы можем создавать отчеты в Access. Тем не менее, они хотят, чтобы тот же отчет был построен в Excel. Эти отчеты регулируются и должны быть разработаны с учетом спецификаций. Я разработал шаблон Excel (рабочая книга) с одной вкладкой, в которой есть отчет и другая вкладка с данными. Желаемый результат: Пользователь будет нажимать кнопку, чтобы экспортировать данные. Откройте предварительно разработанный шаблон Excel, заполните вкладку данных, сохраните файл Excel с определенным именем в предопределенном каталоге, просмотрите отчет на вкладке отчета. Ниже я до сих пор строил и могу только создать новый файл, не используя предварительно разработанный шаблон Excel. На самом деле, этот код не работает прямо сейчас. Будем очень благодарны за любые предложения или поддержку. 🙂

Private Sub Button_ExhP2_XLSX_Click() DoCmd.SetWarnings False Set db = CurrentDb Dim mysql As String Set fso = CreateObject("Scripting.FileSystemObject") 'Create filepath for data to be saved in Const xlsxPath = "\\Path\Access dBase\O-Blank Exhibits\" 'Create Filname used to save data to excel FileName = "BlankPart2 " & [Forms]![Frm_Main]![Frm_Main_ListBox_BU] & "_" & [Forms]![Frm_Main]![Frm_Main_Combo_Qtr] & "_" & [Forms]![Frm_Main]![Frm_Main_Combo_Year] 'Delete file if it already exists so it may fully be replaced with new data If fso.FileExists(xlsxPath & FileName & ".xlsx") Then Kill xlsxPath & FileName & ".xlsx" End If 'Pull detail based on Part 2 mysql = "" mysql = mysql + " SELECT " mysql = mysql + " BSTimePeriod, " mysql = mysql + " ISTimePeriod, " mysql = mysql + " Fiscal_Quarter, " mysql = mysql + " Year, " mysql = mysql + " BU, " mysql = mysql + " BU_Description, " mysql = mysql + " OU, " mysql = mysql + " OU_Description, " mysql = mysql + " P2_Category, " mysql = mysql + " P2_Line, " mysql = mysql + " Comp, " mysql = mysql + " FEP, " mysql = mysql + " Med, " mysql = mysql + " CHP, " mysql = mysql + " FHP, " mysql = mysql + " Total, " mysql = mysql + " Order, " mysql = mysql + " Balance, " mysql = mysql + " FROM dbo_P2_Exh_Analytic_Rpt " mysql = mysql + " WHERE (((dbo_P2_Exh_Analytic_Rpt.Fiscal_Quarter)='" & [Forms]! [Frm_Main]![Frm_Main_Combo_Qtr] & "') " mysql = mysql + " AND ((dbo_P2_Exh_Analytic_Rpt.Year)='" & [Forms]![Frm_Main]![Frm_Main_Combo_Year] & "') " mysql = mysql + " AND ((dbo_P2_Exh_Analytic_Rpt.BU)='" & [Forms]![Frm_Main]![Frm_Main_ListBox_BU] & "')) " DoCmd.RunSQL mysql 'Open record set create for Part 2 Set rst = db.OpenRecordset(mysql, dbOpenDynaset) 'export summary detail file to excel DoCmd.TransferSpreadsheet acExport, 10, "Orange Part 2", xlsxPath & FileName & ".xlsx", True Set db = Nothing DoCmd.SetWarnings True MsgBox ("BlankPart 2 data has been exported.") 'additional comments: error may occur if Category doesn't exist in dbo.MTest_Sums, didn't build error trap because wasn't sure if this could happen End Sub 

Ошибка: Ошибка компиляции: переменная Не найден Set db = CurrentDb выделен

Вы получите ошибку компиляции, если у вас есть Option Explicit в верхней части вашего модуля.

Вам нужно будет добавить DIM db as DAO.Database выше строки нарушения, чтобы исправить это.

Кроме того, если вы подключаетесь к базе данных MySQL, я сомневаюсь, что вы должны использовать Set db = CurrentDb , но вместо этого вы должны использовать какой-либо вариант в Set db = DBEngine.Workspaces(0).OpenDatabase() где name содержит ссылка на MySQL DSN. Для получения дополнительной информации см. http://office.microsoft.com/en-au/access-help/HV080753920.aspx.

  • mysql пытается импортировать нечетный формат csv
  • Как конвертировать из формата datetime в mysql databse в обычный формат am / pm?
  • Экспорт Excel не возвращает значение правильно
  • Групповой возраст по городам
  • Как экспортировать данные базы данных в файл Excel
  • конвертировать десятичный серийный номер из excel в mysql правильно
  • Как я могу получить более 50 результатов для отображения в excel с помощью mysql?
  • Вывод SQL IN для нескольких столбцов Excel
  • Имеет ли phpmyadmin функцию, такую ​​как доступ для разделения одного вклада на несколько таблиц?
  • Я получаю пустой файл excel после загрузки с php из sql databse
  • Добавление или обновление данных из Excel в MYSQL
  • Давайте будем гением компьютера.