La Web del Programador: Comunidad de Programadores
 
    Pregunta:  46294 - CAPTURA DE ERRORES EN ACCESS
Autor:  JOSE GUTIERREZ
Hola:

Necesito que alguien me ayude y que me explique el uso de la clausula ON ERROR, las explicaciones y ejemplos que se dan en la pàgina de MICROSOFT son muy ambiguas y poco entendibles.

Tengo una aplicación donde hago una consulta por fechas, cuando introduzco una fecha que no existe en la base de datos, me manda un error y me cierra la aplicación. Necesito que el programa al momento de encontrar el error me envie un mesaje donde me indique que la fecha de consulta no existe, invitandome a consultar alguna otra fecha, sin que me cierre el programa.

Gracias por su ayuda.

  Respuesta:  benetton
hola tratamiento de clausula on error

en primera instancia te recomiendo un truco asi:

Dim Existe_Fecha As byte,Fecha_Que_Yo_Busco As Date

Existe_Fecha= Dcount("[Fecha_Buscada]","Tabla_Fechas","[Fechas_BD]=#" & [Fecha_Que_Yo_Busco] & "#")

El Codigo Lo Puedes Usar Tal Cual, Espero Lo Entiendas
Que HAce ?

Sencillo CUenta Cuantas Veces Existe Tu Fecha En Question y si es = 0
Ejemplo...
If Existe_Fecha > 0 Ten Haga_Esto Else Haga_Otra_Cosa

La Clusula Igual Te La Podria Enseñar.. Me eSCRIBES SI NECESITAS MAS AYUDA

  Respuesta:  Wilson Madrid
La clausula On Error la entiendo ¡e la sgte forma:

Cuando la pones en un procedimiento o funcion, al ocurrir cualquier error access continua a donde le digas, por ejemplo:
On Error Resume Next: Continuaria ignorando el error.
On Error Resume MENSAJE: Iria al señalador llamado MENSAJE

' codigo
MENSAJE:
msgbox "El error es tal"

Al generarse un error, este queda guardado en la variable Err.

Asi podrias antes de ejecutar la consulta poner un on error:
On Error Resume Fechas
currentdb.execute "CONSULTA"

Fechas:
if Err.code='Numero de codigo que se genera al tene mal la fecha' then
msgbx 'la fecha no existe'
endif