我在VBA中有一個用於連接到SQLServer數據庫的ADODB連接。我想捕獲連接時引發的錯誤.Open被調用並且給定的數據庫無法訪問。在ADODB連接上的VBA錯誤處理。打開
我的代碼如下所示:
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
我的問題是,當我嘗試運行該代碼不正確的ConnectionString中引發錯誤,並在一個MsgBox顯示,而不是由「對錯誤轉到抓DBError」。
在我的錯誤處理代碼中是否有錯誤,或者我需要找到另一種捕獲此錯誤的方法?
謝謝你的幫助。歡迎任何建議。
謝謝這個解決我的問題。你知道我是否可以強制用戶以某種方式使用此設置?否則,當我「釋放」我的應用程序時,我會遇到問題。也許檢查什麼設置設置?再次感謝你的幫助。 – PKeno 2011-03-24 07:01:00
並不知道,但我想你會在這裏找到它:http://msdn.microsoft.com/en-us/library/aa221603(v=office.11).aspx – tpascale 2011-03-24 18:09:00