Puede usar la acción ClearMacroError para borrar información sobre un error almacenado en el objeto MacroError .
Nota: La acción de macro ClearMacroError no está disponible en las aplicaciones web de Access.
Configuración
La acción ClearMacroError no tiene ningún argumento.
Comentarios
-
Cuando se produce un error en una macro, la información sobre el error se almacena en el objeto MacroError . Si no ha usado la acción OnError para suprimir los mensajes de error, la macro se detiene y la información del error se muestra en un mensaje de error estándar. Sin embargo, si ha usado la acción OnError para suprimir los mensajes de error, es posible que desee usar la información almacenada en el objeto MacroError en una condición o en un mensaje de error personalizado.
Después de que se haya controlado un error, la información del objeto MacroError no está actualizada, por lo que es una buena idea borrar el objeto mediante la acción ClearMacroError . Al hacerlo, se restablece el número de error en el objeto MacroError a 0 y se borra cualquier otra información sobre el error almacenado en el objeto, como la descripción del error, el nombre de la macro, el nombre de la acción, la condición y los argumentos. De esta forma, puede volver a inspeccionar el objeto MacroError más adelante para ver si se ha producido otro error.
-
El objeto MacroError se borra automáticamente cuando termina cualquier macro, por lo que no es necesario usar la acción ClearMacroError al final de una macro.
-
El objeto MacroError contiene información sobre un solo error a la vez. Si se ha producido más de un error en una macro, el objeto MacroError solo contiene información sobre el último error.
-
Para ejecutar la acción ClearMacroError en un módulo VBA, use el método ClearMacroError del objeto DoCmd .
Ejemplo
La macro siguiente usa la acción OnError con el argumento Next para suprimir los mensajes de error y, a continuación, usa la acción OpenForm para abrir un formulario. En este ejemplo, se crea un error deliberadamente con la acción GoToRecord para ir al registro anterior. La condición [MacroError].[Número]<>0 comprueba el objeto MacroError . Si se ha producido un error, el número de error no es cero y se ejecuta la acción MsgBox . El cuadro de mensaje muestra el nombre de la acción que causó el error (en este caso, la acción GoToRecord ) y se muestra el número de error. Por último, al ejecutar la acción ClearMacroError , se borra el objeto MacroError .
Condición |
Acción |
Argumentos |
Onerror |
Ir a: Siguiente |
|
Abrirformulario |
Nombre del formulario: CategoryForm Ver: formulario Modo de ventana: Normal |
|
GoToRecord |
Tipo de objeto: formulario Nombre del objeto: CategoryForm Grabar: anterior |
|
[MacroError]. [Número]<>0 |
Msgbox |
Mensaje: ="Error # " & [MacroError]. [Número] & " en " & [MacroError]. [NombreDe ActionName] & "acción". Pitido: Sí Tipo: información |
ClearMacroError |