IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Gestion de micro coupures ADSL avec VBA


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut Gestion de micro coupures ADSL avec VBA
    Bonjour à tous,

    je voulais savoir si quelqu'un a déja rencontré ce problème je m'explique, j'ai un code me permettant de traiter un nombre important d'informations chaque jour, mon problème est que parfois (notre ligne ADSL étant pas top), j'ai des micro coupures, une micro coupure génère forcément une alerte VBA et le code s'arrête , pour contrer ça j'utilise resume, ainsi lorsqu'il y a une déconnexion le programme est rénvoyé à l'endroit de l'erreur jusqu'à reconnexion, voila ce que j'ai fais,

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub Traitement_Click()
    On Error GoTo Erreur3146
     
    Dim db As Database
    Dim rsCheckTblRafale As DAO.Recordset
    Dim rsMvtStock As DAO.Recordset
    Dim rsOrdersHs As DAO.Recordset
    Dim rsOrdersPrt As DAO.Recordset
    Dim rsOrdersRxp As DAO.Recordset
    Dim rsOrders As DAO.Recordset
    Dim rsOrdersProductsHs As DAO.Recordset
    Dim rsOrdersProductsPrt As DAO.Recordset
    Dim sRafale As String
    Dim i As Integer
     
    Set db = CurrentDb
     
    'ici du code avec plusieurs db.OpenRecordset pour le traitement
     
    'Gestion d'une micro coupure
    Erreur3146:
    If Err.Number = 3146 Then
      If MsgBox("Echec de connexion erreur 1, continuer le process ?" & Chr(13) & "si vous choisissez d'arrêter contactez-moi !!", vbYesNo + vbExclamation) = vbYes Then
        Resume
      Else
        DoCmd.Hourglass False
        Exit Sub
      End If
    End If
     
    End Sub
    donc s'il y a une coupure, le resume va retourner à l'erreur, ça peut être sur un OpenRecordset, dans un Select * FROM, sur un RecordCount, s'il y a qu'une déconnexion le programme va se dérouler normalement, mais s'il y a une 2ème coupure Access se ferme directement, j'ai aucun message rien il se ferme, j'ai fais la même manip avec Access 2003 et là c'est une fenêtre qui me propose de retourner l'erreur à Microsoft, peut être que ma gestion d'erreur n'est pas bonne ou qu'il y a réellement un bug, bref si vous pouviez m'aider..

    PS : mes contraintes sont que les informations sont récupérées en fonction de leur status, et que ce status change dans le déroulement du code, ainsi il n'est pas possible de revenir en arrière ou de sauter des étapes..

    je vous remercie pour vos réponses

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    je me permet de relancer le sujet si quelqu'un avait une petite solution , depuis hier je simule des déconnexions/connexions ODBC pour voir les comportements pas à pas, je me rend compte que la fermeture brutale d'Access intervient lorsqu'il y a 2 "resume" dans le même db.OpenRecordset et spécialement à la fermeture de celui-ci, pas de problème par contre quand c'est une seule fois..

    j'utilise les drivers ODBC 3.51 avec Access 2000, même combat avec Access 2003..

    si ça peut aider..

  3. #3
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Bonjour Yohann !

    C'est pas évident mais, j'essayerais de contourner ce problème en transformant le code attribué au Click de "Traitement" en une fonction, et je l'appelerais dans "Private Sub Traitement_Click()"

    J'incluerais dans cette fonctin un "vidage" de toutes les variables (Set... = Nothing, etc..)

    Sinon, tu peux toujours aller voir ici... mais je ne suis pas sûr que cela fasse vraiment avancer le schmilblick...

    A+
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

Discussions similaires

  1. Gestion d'une image avec VBA Access
    Par Marin d'Eau Douce dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/01/2012, 17h38
  2. gestion de la liaison série avec VBA
    Par riquet90 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 11/08/2008, 17h30
  3. Gestion liste avec VBA
    Par ricki69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2008, 23h43
  4. afficher la barre de menus complète avec vba
    Par jejestyle dans le forum Access
    Réponses: 7
    Dernier message: 07/09/2006, 18h07
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo