Vous pouvez utiliser l’action ClearMacroError pour effacer les informations relatives à une erreur stockée dans l’objet MacroError .
Remarque : L’action de macro ClearMacroError n’est pas disponible dans les applications web Access.
Paramètre
L’action ClearMacroError n’a aucun argument.
Remarques
-
Lorsqu’une erreur se produit dans une macro, des informations sur l’erreur sont stockées dans l’objet MacroError . Si vous n’avez pas utilisé l’action OnError pour supprimer les messages d’erreur, la macro s’arrête et les informations d’erreur sont affichées dans un message d’erreur standard. Toutefois, si vous avez utilisé l’action OnError pour supprimer les messages d’erreur, vous pouvez utiliser les informations stockées dans l’objet MacroError dans une condition ou dans un message d’erreur personnalisé.
Une fois qu’une erreur a été gérée, les informations contenues dans l’objet MacroError sont obsolètes. Il est donc judicieux d’effacer l’objet à l’aide de l’action ClearMacroError . Cela réinitialise le numéro d’erreur de l’objet MacroError à 0 et efface toutes les autres informations sur l’erreur stockées dans l’objet, telles que la description de l’erreur, le nom de la macro, le nom de l’action, la condition et les arguments. De cette façon, vous pouvez inspecter à nouveau l’objet MacroError ultérieurement pour voir si une autre erreur s’est produite.
-
L’objet MacroError est automatiquement effacé à la fin d’une macro. Vous n’avez donc pas besoin d’utiliser l’action ClearMacroError à la fin d’une macro.
-
L’objet MacroError contient des informations sur une seule erreur à la fois. Si plusieurs erreurs se sont produites dans une macro, l’objet MacroError contient uniquement des informations sur la dernière erreur.
-
Pour exécuter l’action ClearMacroError dans un module VBA, utilisez la méthode ClearMacroError de l’objet DoCmd .
Exemple
La macro suivante utilise l’action OnError avec l’argument Next pour supprimer les messages d’erreur, puis utilise l’action OuvrirForm pour ouvrir un formulaire. Pour cet exemple, une erreur est délibérément créée à l’aide de l’action AtteindreEnregistrer pour accéder à l’enregistrement précédent. La condition [MacroError].[Number]<>0 teste l’objet MacroError . Si une erreur s’est produite, le numéro d’erreur est différent de zéro et l’action MsgBox s’exécute. La boîte de message affiche le nom de l’action à l’origine de l’erreur (dans ce cas, l’action AtteindreEnregistrement ), et le numéro d’erreur s’affiche. Enfin, l’exécution de l’action ClearMacroError efface l’objet MacroError .
Condition |
Action |
Arguments |
Onerror |
Accédez à : Suivant |
|
OpenForm |
Nom du formulaire : CategoryForm Affichage : Formulaire Mode fenêtre : Normal |
|
GoToRecord |
Type d’objet : Formulaire Nom de l’objet : CategoryForm Enregistrement : Précédent |
|
[MacroError]. [Nombre]<>0 |
Msgbox |
Message : ="Error # " & [MacroError]. [Number] & " on " & [MacroError]. [ActionName] & « action ». Bip : Oui Type : Informations |
ClearMacroError |