OnError, action de macro
S’applique à : Access 2013, Office 2013
Utilisez l’action SurErreur pour indiquer ce qui doit se passer lorsqu’une erreur se produit dans une macro.
Setting
L’action SurErreur possède les arguments suivants.
Argument d’action |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Accédez à |
Spécifie le comportement général lorsqu’une erreur se produit. Cliquez sur la flèche déroulante, puis sur l’un des paramètres suivants :
|
||||||||
Nom macro |
Si l’argument Atteindre est défini sur Nom de la macro, tapez le nom de la macro à utiliser pour la gestion des erreurs. Le nom que vous tapez doit correspondre à un nom dans la colonne Nom de la macro de la macro active . vous ne pouvez pas entrer le nom d’un autre objet de macro. Dans l’exemple ci-dessous, la macro ErrorHandler est contenue dans le même objet macro que l’action OnError . Cet argument doit rester vide si l’argument Atteindre est défini sur Suivant ou sur Échec. |
Remarques
L'action SurErreur est généralement placée au début d'une macro, mais vous pouvez également la placer plus loin dans la macro. Les règles établies par cette action prendront effet dès exécution de l'action.
Si vous définissez l'argument Atteindre sur Échec, Access se comporte de la même manière que si la macro ne contenait pas d'action SurErreur. Autrement dit, si une erreur se produit, Access arrête la macro et affiche un message d'erreur standard. Le paramètre Échec est principalement utilisé pour désactiver la gestion des erreurs établie précédemment dans une macro.
Exemple
La macro suivante illustre l'utilisation de l'action SurErreur. Dans cet exemple, l'action SurErreur spécifie qu'Access exécute une macro de gestion des erreurs personnalisée nommée GestionnaireErreur lorsqu'une erreur se produit. Lorsqu’une erreur se produit, la sous-macro CatchErrors est appelée. Si le numéro d’erreur est 2102, un message spécifique s’affiche et l’exécution de la macro est interrompue. Dans le cas contraire, un message décrivant l’erreur s’affiche et la macro est suspendue afin que vous puissiez effectuer un dépannage supplémentaire. Cette macro affiche une zone de message qui fait référence à l'objet MacroError pour afficher des informations sur l'erreur.
Exemple de code fourni parMicrosoft Access 2010 Programmer’s Reference.
/* MACRO: mcrThrowErrors */
/* PURPOSE: Error handling using macros in Access 2010 */
OnError
Go to Macro Name
Macro Name CatchErrors
OpenForm
Form Name frmSamples
View Form
Filter Name
Where Condition
Data Mode
Window Mode Normal
MessageBox
Message This message appears after the OpenForm action
Beep Yes
Type None
Title
/* SUBMACRO: CatchErrors */
SubMacro: CatchErrors
If [MacroError].[Number]=2101 Then
MessageBox
Message Cannot find the specified form!
Beep Yes
Type Critical
Title
StopMacro
Else
MessageBox
Message =[MacroErro].[Description]
Beep Yes
Type None
Title Unhandled Error
SingleStep
End If
End SubMacro