Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
|
||||||||
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