Si usted está tratando de obtener más de sus proyectos de Microsoft Access , o que están empezando a programar en Visual Basic, que tiene un controlador de errores en sus Subs y funciones puede salvar su usuario final una muchos dolores de cabeza . Aquí está una manera fácil de agregar un controlador de errores en el código que le permitirá hacer frente a los errores a medida que surgen y luego adaptar la respuesta al error específico. Cosas que necesitará
Visual Basic 6 o una ventana de código abierto en MS Access 2003 o versiones anteriores del módulo
Mostrar más instrucciones
1
Abre una ventana de código , ya sea en VB6 o un módulo de MS Access y crear una nueva rutina Sub llamado TestErrorHandler . En este punto no habrá ningún código en el Sub que se verá así: TestErrorHandler Public Sub () End Sub
2
Añada la siguiente línea a la rutina Sub; no vuelva a escribir los Sub Públicas y End Sub líneas de nuevo. Es importante asegurarse de que agrega una coma después de la línea " ERROR_EXIT " y " ErrorHandler . " Además , la línea de " ErrorHandler " tiene que ser escrito exactamente como se declara en la línea " On Error GoTo ErrorHandler . " Usted puede nombrar a su manejador de error " Jim ", si lo desea. pero hay que mantener el nombre consistente: TestErrorHandler Public Sub () On Error GoTo ErrorHandlerError_Exit : SubErrorHandler Exit : Línea SubThe End " On Error GoTo ErrorHandler " dirige el sub para buscar un controlador de errores si se presenta un error cuando es la línea running.The " ERROR_EXIT " salidas fuera de los Sub desde la línea de " Exit Sub " se ha añadido inmediatamente por debajo de la línea it.The " ErrorHandler : " es donde se controlan los errores específicos
3
. Ahora agregue las siguientes dos líneas de código directamente en " ErrorHandler ": Select Case Err.NumberEnd SelectWe utiliza una instrucción Select Case para controlar los errores específicos que podríamos querer tratar con
4
. Notificar al usuario que ha ocurrido un error y darles un poco de información adicional. Haremos todo lo que en nuestra Select Case usando " Case Else ". Para este ejemplo , vamos a mantenerlo simple , notificando al usuario de que se ha producido un error y que el número de error es , además de una breve descripción . Agregue las siguientes líneas de código en su " ErrorHandler ": Case Else pstrErrorMessage = " Error :" & Err.Number _ & vbCrLf y Err.Description MsgBox pstrErrorMessage , vbExclamation , "Error " Resume todo Error_ExitThe Sub ahora debe ser similar a esto: TestErrorHandler Public Sub () On Error GoTo ErrorHandlerError_Exit : SubErrorHandler Exit : pstrErrorMessage Dim As String Select Case Err.Number Case Else pstrErrorMessage = " Error :" & Err.Number _ & vbCrLf y Err.Description MsgBox pstrErrorMessage , vbExclamation , "Error " Reanudar ERROR_EXIT End Sub SelectEnd
5
La verdadera ventaja de tener un controlador de errores en su lugar es que se puede hacer frente a los errores que se espera de una manera elegante. Por ejemplo, si usted decide escribir una rutina Sub que mover un archivo ( s ) a partir de una carpeta a otra , pero anticipamos que en alguna ocasión que el o varios de los archivos no existirá , lo más probable es obtener un número de error repetido 53 , que es un archivo no encontrado Error . Usted puede agregar una línea para la instrucción Select Case que resolver este error y continuar con la rutina Sub. Añadir estas dos líneas directamente debajo de la línea " Select Case " : Case 53 Resume NextBy tratar con el archivo esperado Not Found error de esta manera, tendrás la rutina Sub continúe funcionando sin notificar al usuario lo que ha sucedido . Obviamente, si desea que el usuario sepa que el archivo especificado no está presente , se debe añadir un MsgBox en este sentido . Toda la Sub ahora se ve así ( la captura de pantalla asociada con este paso refleja cómo el código debe ser en el entorno de programación VB ) : TestErrorHandler Public Sub () On Error GoTo ErrorHandlerError_Exit : SubErrorHandler Exit : pstrErrorMessage Dim As String Select Case Err.Number Case 53 Resume Next Case Else pstrErrorMessage = " Error :" & Err.Number _ & vbCrLf y Err.Description MsgBox pstrErrorMessage , vbExclamation , "Error " Reanudar ERROR_EXIT End Sub SelectEnd
< br >