VBA Erreur de manipulation sur Connexion ADODB.Ouvert

J'ai une connexion ADODB en VBA pour la connexion à une base de données sql server. Je voulez attraper l'erreur est générée lorsque la connexion.Ouvert est appelé et la base de données est inaccessible.

Mon code ressemble à ceci:

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

Mon problème est que lorsque j'essaie d'exécuter ce code est incorrecte connectionString une erreur est générée et affichée dans une boîte de Message et de ne pas attraper par la "on Error GoTo DBError".

Est-il quelque chose qui cloche dans mon code de gestion d'erreur, ou dois-je trouver un autre moyen d'attraper cette erreur?

Merci pour votre aide. Toutes les suggestions sont les bienvenues.

OriginalL'auteur PKeno | 2011-03-22