Есть ли способ использовать несколько файловых диалогов для выбора файлов в VBA MS Access? - PullRequest
0 голосов
/ 08 сентября 2018

Прямо сейчас: у меня есть форма в базе данных внешнего доступа MS Access. Эта форма имеет три кнопки, все они открывают диалоговые окна файлов, чтобы выбрать и импортировать файлы Excel в внутреннюю базу данных. Например, одна кнопка выглядит следующим образом:

    Private Sub Command0_Click()

'OPEN DIALOG BOX TO SELECT FILE

With Application.FileDialog(msoFileDialogOpen)
 .Filters.Clear
   .Filters.Add "Excel Files", "*.xlsx,*.xls"
   .Filters.Add "Access Databases", "*.accdb"
 .FilterIndex = 1      'Excel Files

 .AllowMultiSelect = True
 .ButtonName = "Open"
 .InitialFileName = "C:\Users\UserName\Documents\Raw Files"
 .Title = "Select a File to Import"
 .InitialView = msoFileDialogViewDetails

'IMPORT Excel file 1 FILE TO DATABASE

   If .Show Then

   'open database
Static acc As Access.Application
Dim db As DAO.Database
Dim dbname As String
dbname = "C:\Users\Username\Documents\Back End.accdb"
Set acc = New Access.Application
acc.Visible = False
Set db = acc.DBEngine.OpenDatabase(dbname, False, False)
acc.OpenCurrentDatabase dbname

'import File


acc.DoCmd.TransferSpreadsheet acImport, , "ExcelFile1", .SelectedItems(1), True, "Sheet1!"

'close the workbook

acc.DoCmd.Quit acQuitSaveAll

db.Close
Set db = Nothing

MsgBox ("Files have been successfully loaded. Proceed with analysis")


   End If
End With

End Sub

Можно ли как-нибудь объединить все три кнопки в одну. По сути, я ищу диалоговое окно с файлами, которое появляется три раза и выбирает все нужные мне файлы, а также обновляет базу данных без трех разных кнопок.

Не уверен, правильно ли я сформулировал свой вопрос, но любой код или помощь будут с благодарностью.

...