Я использую DAO для выполнения запросов к базе данных Access, защищенной паролем, с помощью vba в Excel, иногда при запуске подпрограммы открывается экземпляр Access вместе с окном, запрашивающим пароль базы данных, не вводящим пароль и нажимающим кнопку отмены.без разницы, запрос все еще выполняется с отображаемым выводом, есть ли способ остановить открытие доступа и запрос пароля?
Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset
Dim DB_Name As String
Dim cond As String
Dim pWord As String
Dim wb As Workbook: Set wb = ThisWorkbook
With wb
On Error GoTo ErrHandler:
clearRange.Value = ""
DB_Name = DataBname()
pWord = pwd()
Set MyDatabase = DBEngine.Workspaces(0).OpenDatabase(DB_Name, False, True, pWord)
Set MyQueryDef = MyDatabase.QueryDefs(queryName) 'Query Name
Set MyRecordset = MyQueryDef.OpenRecordset 'Open the query
pasteRange.CopyFromRecordset MyRecordset
failRange.Value = False
My_Exit:
If MyRecordset Is Nothing Then
'Do Nothing
Else
MyRecordset.Close
Set MyRecordset = Nothing
End If
If MyDatabase Is Nothing Then
'Do Nothing
Else
MyDatabase.Close
Set MyDatabase = Nothing
End If
End With
Exit Sub
ErrHandler:
MsgBox Err.Description
failRange.Value = True
Resume My_Exit
End Sub
Function pwd() As String
pwd = "MS Access;PWD=password"
End Function