Bonjour à tous
Quand la frontale perd la connexion avec la dorsale, la seule solution est de fermer access et de relancer
Existe-t-il un moyen de rétablir cette connexion via VB ?
Merci pour vos retours
Bonjour à tous
Quand la frontale perd la connexion avec la dorsale, la seule solution est de fermer access et de relancer
Existe-t-il un moyen de rétablir cette connexion via VB ?
Merci pour vos retours
Salut,
Via une prise en charge des erreurs d'exécutions (exceptions),
et un nombre max de tentatives (on ne peut réessayer ad-vitam aeternam).
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub Connect() On Error Goto Error Const MaxAttempts As Integer = 3 Dim Attempt As Integer Attempt = 0 TryAgain: '// Code de connection ici End Sub Error: Attempt = Attempt + 1 If(Attempt < MaxAttempts) Then '// Optionellement ajouter un temps d'attente avant de réessayer Goto TryAgain Else Err.Raise Err.Number, Err.Description, Err.HelpFile, Err.HelpContext End If Exit Sub
Bonjour,
cela peut se faire avec une boucle de ce type :
le ... dépend du contexte. Dans mon cas c'est pour changer de client donc ça va lire dans un fichier local d'initialisation du logiciel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 For Each TableEnCours In CurrentDb.TableDefs If DCount("*", "matabledestables", "nom='" & TableEnCours.Name & "'") > 0 Then 'il faut une table locale des tables à lier qui peut par exemple contenir la connexion string TableEnCours.connect = ... TableEnCours.RefreshLink End If Next
Partager