blord
XLDnaute Impliqué
Bonjour à tous,
J'utilise le code suivant pour ouvrir une connexion vers une BD Access
Le code ci-haut fonctionne parfaitement. Mais comme il est possible que plusieurs utilisateurs se connectent à la BD,
ce que j'aimerais faire, c'est mettre une boucle qui refait une tentative de connexion sur la BD si cette dernière n'était pas disponible...
J'ai essayé quelque chose du genre :
Mais étant assez débutant avec ce genre de connexion, je ne réussi pas à faire une boucle qui fonctionne...
Si un âme généreuse pouvait me donner un coup de pouce, ce serait vraiment sympathique....
Si nécessaire, je pourrais mettre les fichiers en pièces jointes, n'hésitez pas à demander...
Merci !
J'utilise le code suivant pour ouvrir une connexion vers une BD Access
Code:
Public Sub OuvrirConnexionBD(ByRef cn As ADODB.Connection)
'-------------
'Ouvre la connection à la BD Access
On Error GoTo ErreurLocale
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & CHEMIN_COMPLET_BD & "; Jet OLEDB:Database Password=" & EXPR_PASSWORD
Sheets("Validations").Range("B3").Value = "OK"
Exit Sub
ErreurLocale:
Sheets("Validations").Range("B3").Value = "PASOK"
Set cn = Nothing
End Sub
Le code ci-haut fonctionne parfaitement. Mais comme il est possible que plusieurs utilisateurs se connectent à la BD,
ce que j'aimerais faire, c'est mettre une boucle qui refait une tentative de connexion sur la BD si cette dernière n'était pas disponible...
J'ai essayé quelque chose du genre :
Code:
Public Sub OuvrirConnexionBD(ByRef cn As ADODB.Connection)
'-------
'Ouvre la connection à la BD Access
On Error GoTo ErreurLocale
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & CHEMIN_COMPLET_BD & "; Jet OLEDB:Database Password=" & EXPR_PASSWORD
Sheets("Validations").Range("B3").Value = "OK"
Exit Sub
ErreurLocale:
Sheets("Validations").Range("B3").Value = "PASOK"
Set cn = Nothing
Dim I As Integer
I = 1
Do While Worksheets("Validations").Range("B3").Value = "PASOK" Or I = 10
I = I + 1
Application.StatusBar = "Connexion BD " & I & " / " & 10
Application.Wait (Now + TimeValue("0:00:01"))
Set cn = Nothing
Loop
Resume
End Sub
Mais étant assez débutant avec ce genre de connexion, je ne réussi pas à faire une boucle qui fonctionne...
Si un âme généreuse pouvait me donner un coup de pouce, ce serait vraiment sympathique....
Si nécessaire, je pourrais mettre les fichiers en pièces jointes, n'hésitez pas à demander...
Merci !