Partager via


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 :

Setting

Description

Next

Microsoft Office Access 2007 enregistre les détails de l’erreur dans l’objet MacroError mais n’arrête pas la macro. La macro passe à l’action suivante.

Nom macro

Access arrête l’exécution de la macro active et exécute la macro dont le nom figure dans l’argument Nom de la macro.

Échouer

Access arrête l'exécution de la macro active et affiche un message d'erreur.

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