Gestion erreur reseau ou dique

Signaler
Messages postés
20
Date d'inscription
lundi 15 novembre 2004
Statut
Membre
Dernière intervention
2 mai 2005
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
Bonjour tt le monde .
voila sur une question que jé deja posé sur le form "comment gérer une erreur reseau" j'ai recu une reponse bien favorable. Merci. Mais la un problème ce pose avec cette gestion de reseau:

loaderror:
Select Case Err.Number
Case 3043, 3024, 3044
If Not ReessaiFait Then
If MsgBox(Err.Description & vbCrLf & "Problème de connexion:" & vbCrLf & "Assurez-vous que vous êtes connecté(e) à la base de données", vbYesNo, "Erreur") = vbRetry Then
ReessaiFait = True
Resume restor1
End If
End If
End Select

ce loaderror marche bien quand j'ai un message du genre : " base de donnée introuvable......."
mais une fois j'ai l'erreur " erreur reseau ou erreur disque" je recoi bien le message et le programme revient a l'etiquette restor1. mais a chaque fois je suis a la meme errreur alors il fo que je sort du progrmme et tt devient normal jusqu'a que je retrouve cette erreur pour tombé encore une fois dans la boucle d'ou je sort jamais avant d'arreté le programme.
voila un exemple ou je trouve bcp cette erreur et merci de bien vouloir le resoudre :

( a propos ma base de donné ce trouve dans un autre poste et il est relié a mon programme par le ODBC )
Private Sub Command5_Click()
restor6:
On Error GoTo loaderror
Set work = DBEngine.Workspaces(0)
Set bd = work.OpenDatabase("I:\hop_bd.mdb")
Set rst3 = bd.OpenRecordset("victime")
Set rst4 = bd.OpenRecordset("accident")
Set rst5 = bd.OpenRecordset("dossier")
.
.
.
etc..
loaderror:
Select Case Err.Number
Case 3043, 3024, 3044
If Not ReessaiFait Then
If MsgBox(Err.Description & vbCrLf & "Problème de connexion:" & vbCrLf & "Assurez-vous que vous êtes connecté(e) à la base de données", vbYesNo, "Erreur") = vbRetry Then
ReessaiFait = True
Resume restor1
End If
End If
End Select
end sub

2 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
pas tout compris, mais ce qui me gêne c'est le Resume restor1 avec toujours la même étiquette quelque soit l'erreur.
faudrait peut être changer le nom de l'étiquette en fonction de l'erreur.
ou tout simplement un Resume tout simple sans rien derrière et le programme repartira sur la ligne qui a provoqué l'erreur.

Daniel
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
pas tout compris non plus mais peut-être aussi qu'un petit exit sub avant l'étiquette loaderror: éviterait de passer dans le traitement d'erreur quand il n'y en a pas.

Loup Gris