У меня есть соединение ADODB в VBA для подключения к базе данных SQLServer.Я хочу отловить ошибку, которая возникает при вызове connection.Open, и данная база данных недоступна.
Мой код выглядит так:
Public Function Connect() As Boolean
On Error GoTo DBError
Dim dbServer As String
Dim dbName As String
Dim dbUser As String
Dim dbPwd As String
dbServer = DatabaseSettings.dbServer
dbName = DatabaseSettings.dbName
dbUser = DatabaseSettings.dbUser
dbPwd = DatabaseSettings.dbPwd
Dim connectionString As String
connectionString = "Server=" & dbServer & ";Database=" & dbName & ";User Id=" & dbUser & ";Password=" & dbPwd
Set conn = New ADODB.Connection
conn.Provider = "sqloledb"
With conn
.ConnectionTimeout = 2
.CursorLocation = adUseClient
.Open connectionString
.CommandTimeout = 0
End With
Connect = True
Exit Function
DBError:
Connect = False
End Function
Моя проблема в том, что когда я пытаюсьчтобы запустить этот код с неправильной строкой соединения, возникает ошибка, которая отображается в MsgBox и не обнаруживается «При ошибке GoTo DBError».
Что-то не так в моем коде обработки ошибок или мне нужно найти другой способ отловить эту ошибку?
Спасибо за вашу помощь.Любые предложения приветствуются.