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
Vous devez vous connecter pour publier un commentaire.
Ne sais pas si c'est ça, mais dans la fenêtre VBE assurez-vous que les Outils...Options...Général...de recouvrement d'Erreur option est définie sur "Pause" sur les Erreurs Non gérées". Si elle a été définie à "arrêt sur Toutes les Erreurs" cela peut contourner vos gestionnaires.
ne sais pas désinvolte, mais je pense que vous le trouverez ici: msdn.microsoft.com/en-us/library/aa221603(v=office.11).aspx
OriginalL'auteur tpascale
Essayez d'utiliser le ci-dessous, travaillé ici:
OriginalL'auteur Tiago Cardoso