Partager via


ClearMacroError, action de macro

S’applique à : Access 2013, Office 2013

Utilisez l'action EffacerMacroErreur pour effacer les informations sur une erreur qui sont stockées dans l'objet MacroError.

Setting

L’action EffacerMacroErreur ne possède aucun argument.

Remarques

  • Lorsqu'une erreur se produit dans une macro, les 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. Ainsi, vous pourrez réexaminer ultérieurement l'objet MacroError pour déterminer si une autre erreur s'est produite.

  • L'objet MacroError est automatiquement effacé à l'issue d'une macro. Il n'est donc pas nécessaire d'utiliser l'action EffacerMacroErreur à la fin d'une macro.

  • L'objet MacroError ne contient des informations que sur une seule erreur à la fois. Si plusieurs erreurs se sont produites dans une macro, l'objet MacroError ne contient des informations que sur la dernière erreur.

  • Pour exécuter l’action EffacerMacroErreur dans un module Visual Basic pour Applications (VBA), utilisez la méthode ClearMacroError de l’objet DoCmd.

Exemple

La macro suivante utilise l'action SurErreur avec l'argument Suivant pour supprimer les messages d'erreur, puis utilise l'action OuvrirFormulaire pour ouvrir un formulaire. Pour les besoins de cet exemple, une erreur a été délibérément créée en utilisant l'action AtteindreEnregistrement pour revenir à l'enregistrement précédent. La condition [MacroError].[Numéro]<>0 teste l'objet MacroError. Si une erreur s'est produite, le numéro de l'erreur est une valeur non nulle et l'action ZoneMessage s'exécute. La zone de message affiche le nom de l'action à l'origine de l'erreur (dans le cas présent, l'action AtteindreEnregistrement ) et le numéro de l'erreur est affiché. Pour finir, l’action EffacerMacroErreur est exécutée afin d’effacer l’objet MacroError.

Condition

Action

Arguments

OnError

Atteindre : Suivant

OpenForm

Nom du formulaire : CategoryFormView : FormWindow Mode : Normal

GoToRecord

Type d’objet : FormObject Name : CategoryFormRecord : Previous

[MacroError]. [Nombre]<>0

MessageBox

Message : ="Error # " & [MacroError]. [Number] & " on " & [MacroError]. [ActionName] & « action ». Bip : YesType : Information

ClearMacroError