Compartir a través de


Submacro (instrucción de macro)

Se aplica a: Access 2013, Office 2013

La instrucción Submacro define una macro independiente en la ventana Macro Designer.

Configuración

La acción Submacro utiliza los siguientes argumentos.

Argumento

Necesario

Descripción

Nombre

Una cadena que aparece como el nombre de la macro.

Ejemplo

En la siguiente macro se muestra el uso de la acción AlOcurrirError. En este ejemplo, la acción AlOcurrirError especifica que Access ejecute una macro de tratamiento de errores personalizada denominada ErrorHandler cuando se produzca un error. Cuando se produce un error, se llama al submacro CatchErrors. Si el número de error es 2102, se muestra un mensaje específico y se detiene la ejecución de macros. De lo contrario, se muestra un mensaje que describe el error y la macro está en pausa para que pueda solucionar problemas adicionales. Esta macro mostrará un cuadro de mensaje referente al objeto ErrorDeMacro para mostrar información sobre el error.

Código de ejemplo proporcionado por la Referencia del programador de Microsoft Access 2010.

    /* 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