none
ON ERROR ne fonctionne plus ! RRS feed

  • Question

  • Je travaille sur plusieurs base de données Access et j'utilise la commande "ON ERROR GOTO" dans toutes les procédures et fonctions VBA.

    J'ai acquis Office 2013 récemment et développé quelques base de données.

    Aujourd'hui, la commande "ON ERROR" ne fonctionne plus nulle part dans mes bases de données. J'ai fait plusieurs tentatives pour cibler le problème mais sans succès.

    Finalement, j'ai créé une nouvelle base de données dans laquelle je n'ai ajouté qu'un formulaire contenant un bouton de commande. Voici le code associé à l'événement Click de ce bouton :

    Private Sub Commande0_Click()
    On Error GoTo handler
    Open "fichtest" For Output As #1
    Kill "fichtest"
    Exit Sub
    handler:
    MsgBox Error(Err.Number)
    Close #1
    End Sub

    Dès l'exécution de la commande KILL "fichtest", l'exécution du code est interrompue et Access affiche un message d'erreur. Normalement, le déroulement devrait être transféré à la section "Handler:". Aucune commande ON ERROR GOTO de mon code n'est dorénavant fonctionnel.

    Quelqu'un a une idée comment régler ce problème ?

    Merci.

    Claude

    mardi 28 janvier 2014 21:00

Réponses

Toutes les réponses

  • Bonjour
    J'ai fait un petit teste avec votre code, et il affiche bien "File Already opened" CAD le message d'erreur MsgBox Error(Err.Number).

    Veuillez tester avec l'exemple trouvé ici :

    http://msdn.microsoft.com/fr-fr/library/office/gg251688.aspx

    Il fonctionne bien?

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 29 janvier 2014 08:51
  • Bonjour Aurel,

    Merci pour votre réponse.

    J'ai fait le test suggéré avec le même résultat : les erreurs ne sont pas transférées à la section de gestion des erreurs.

    Entretemps, j'ai fait des vérifications sur un autre ordinateur qui contient Access 97, 2003 et 2007. La fonction ON ERROR GOTO... ne fonctionne pas sur Access 2003 et 2007 mais parfaitement bien sur 97.

    Comme VBA est un dérivé de VB, j'ai fait le même test avec VB 6.0 : ON ERROR GOTO... fonctionne très bien.

    Encore merci pour votre intérêt.

    Claude

    mercredi 29 janvier 2014 14:07
  • Re Bonjour

    Verifiez svp, dans le menu Outils\Options de l'editeur VB, Onglet General que vous avez "Break on unhandled errors".

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    • Marqué comme réponse cdDavy jeudi 30 janvier 2014 13:13
    jeudi 30 janvier 2014 07:29
  • Bonjour,

    Problème résolu ! La solution était finalement très simple...

    Vous l'avez peut-être deviné, mon principal outil de développement est Visual Studio, beaucoup plus rarement Access. Il nous faut des gens comme vous pour nous ramener dans le droit chemin !

    Lors du prochain problème, je vérifierai toutes les options...

    Merci beaucoup !

    Claude

    jeudi 30 janvier 2014 13:12