Compartir a través de


AlOcurrirError (acción de macro)

Se aplica a: Access 2013, Office 2013

Puede usar la acción AlOcurrirError para especificar lo que va a ocurrir cuando se produce un error en una macro.

Configuración

La acción AlOcurrirError tiene los siguientes argumentos.

Argumento de la acción

Descripción

Ve a

Permite especificar el comportamiento general que debe producirse cuando se detecta un error. Haga clic en la flecha desplegable y, a continuación, haga clic en uno de los siguientes valores:

Configuración

Descripción

Next

Microsoft Office Access 2007 registra los detalles del error en el objeto ErrorDeMacro pero no detiene la macro. La macro continúa con la siguiente acción.

Nombre de macro

Access detiene la macro actual y ejecuta la macro especificada en el argumento Nombre de macro.

Fallar

Access detiene la macro actual y muestra un mensaje de error.

Macro Name

Si el argumento Ir a se establece en Nombre de macro, escriba el nombre de la macro que se va a usar para el control de errores. El nombre que escriba debe coincidir con un nombre en la columna Nombre de macro de la macro actual; no puede escribir el nombre de un objeto de macro diferente. En el ejemplo siguiente, la macro ErrorHandler está contenida en el mismo objeto de macro que la acción OnError . El valor de este argumento debe mantenerse en blanco si el argumento Ir a está establecido en Siguiente o en Error.

Comentarios

  • La acción AlOcurrirError suele situarse al comienzo de una macro, si bien se puede colocar también más adelante. Las reglas establecidas por la acción se harán efectivas cuando se ejecute la acción.

  • Si se establece el argumento Ir a en Error, Access se comporta de la misma manera que se comportaría si no hubiera ninguna acción AlOcurrirError en la macro. Es decir, si se detecta un error, Access detiene la macro y muestra un mensaje de error estándar. El valor Error se usa principalmente para desactivar el tratamiento de errores establecido anteriormente en una 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