¿Alguna vez ha tenido un número de error de acceso, pero no el mensaje de error que explica qué es?
El AccessError()
La función es una forma rápida de obtener el mensaje de error asociado con un número de error de acceso:

El carácter marcador de posición de la tubería
El carácter de barra vertical (|
) es una barra vertical (disponible a través de [Mayús] + [\] {barra invertida} en un teclado en inglés).
La función AccessError usa este carácter como marcador de posición para texto específico de la instancia en un mensaje de error.
Por ejemplo, el error de acceso 3211 es "... no se pudo bloquear la tabla '|' ..." El carácter de barra vertical en el mensaje genérico se reemplaza con la cadena real que se usó en la línea de código que generó el mensaje de error:

Documentación Oficial
La función AccessError es en realidad un método del objeto Access.Application. Aquí hay una descripción de lo que hace de la documentación oficial:
Puede usar el Error de acceso método para devolver la cadena descriptiva asociada con un error de Microsoft Access o Data Access Objects (DAO).
Vale la pena señalar que este es un Microsoft Acceso específico función. En otras palabras, no podrá llamarlo desde otra aplicación de Office, como Excel o Word.*
(* Esto no es técnicamente cierto. Podría crear un objeto de aplicación de acceso a través de COM en cualquier entorno de VBA y luego poder llamar al método AccessError desde ese objeto. Por supuesto, eso solo sería útil si quisiera verificar Cadenas de mensajes de error específicas de acceso en esa otra aplicación de Office, lo que parece poco probable).
Casos de uso
Honestamente, no recuerdo haber usado este método dentro del código de mi aplicación.
Esta es una función que utilizo casi exclusivamente desde la ventana Inmediato cuando solo quiero una forma rápida de determinar qué representa un número de error de acceso.
Esto sería más útil si se encontrara con un controlador de errores que tuviera un Select Case Err.Number
bloque y todos los Case
individuales las declaraciones usaban números sin comentarios adjuntos, como este:
Select Case Err.Number
Case 2452
'Do something
Case 2455
'Do a different thing
Case 2467
'Do something else
End Select
Armado con el método AccessError, podría mejorar este código agregando un comentario con una breve descripción de cada número de error:

Select Case Err.Number
Case 2452 'invalid reference to the Parent property
'Do something
Case 2455 'invalid reference to the property
'Do a different thing
Case 2467 'expr refers to object that is closed or doesn't exist
'Do something else
End Select
Consideraciones sobre la integración de la base de datos de errores
Si está utilizando una base de datos de errores, como FogBugz, que ofrece una función para agrupar errores en función de su descripción, es posible que desee utilizar el genérico mensaje de error en el asunto del informe de error (o cualquier campo que haga la agrupación) y capture el específico mensaje de error en el campo de detalles del evento de error.
Analizo este problema en el contexto de mi función personalizada de lanzamiento de errores aquí:Lanzamiento de errores en VBA:problemas de integración de la base de datos de errores.
Artículos referenciados
Lanzar errores en VBA Presentamos una alternativa sin fricciones a Err.Raise.
