VBA Access: Problema con manejo de adjuntos

Obtuve un código de Nekitto para el manejo de Adjuntos mediante código VBA el cual me ha funcionado de mil maravillas en una Base de Datos. Ahora quiero reutilizarlo en otra BdD y cuando intento adjuntar, me arroja lo de la siguiente imagen, en la línea resaltada:

Entre los comentarios hay una línea que dice:

'Requiere referencia a Microsoft Office x.y Object Library, donde x.y es la versión que tengamos en nuestro PC.

Y ya lo activé y controlé y sigue activo. No sé por qué me da ese error si sólo hice Copias->Pegar y cambiar las tablas.

1 respuesta

Respuesta
2

Fíjate que tengas marcada una (y solo una) de estas dos librerías:

Microsoft Office x.y Access database engine Object Library

Microsoft DAO x.y Object Library

Esas librerías son las que contienen los objetos DATABASE, RECORDSET...

¿Eso se activa a nivel local en la Base de Datos o a nivel Access?
Esto está activo en la que SÍ funciona:

Y esto en la que NO funciona:

La verdad es que no entiendo por qué.

Las referencias las tienes que activar en cada base de datos. La verdad, viendo las dos imágenes, no veo motivo para que no te funcione.

Realmente la librería que mencionas no influye para nada en el código para el manejo de los adjuntos (sí en el código que viene del ejemplo "Navegar y seleccionar archivo), aunque tampoco provocará errores en el funcionamiento del código...

Sugerencias que puedes ir probando:

1º/ Compacta y repara la BD

2º/ Compila el código: Editor de VBA-> Depuración-> Compilar...

3º/ Cambia la referencia Microsoft Office x.y Access database engine Object Library por Microsoft DAO x.y Object Library

4º/ Comenta las líneas Dim dbs As Datbase y Set dbs=CurrentDb, y sustituye dbs por CurrentDb en todo el código. Comenta también las líneas dbs.Close y Set dbs=Nothing

5º/ Con el código y referencias originales añade a las declaraciones la palabra DAO:

Dim dbs As DAO.Database

Dim rst As DAO.Recordset2

Dim rstAdj As DAO.Recordset2

Dim fldCampoAdj As DAO.Field2

A ver si alguna te soluciona el problema. Como último recurso, plantea la pregunta en nksvaccessolutions.com/Foro, que seguro que allí obtienes respuesta del propio Neckkito, pues está más activo que aquí.

No creerás que reordené la prioridad y funcionó. Así que funcionó. Quizá esto ayude a muchos. Muchas gracias como siempre.

¡Pues qué curioso! Pero lo importante es que lo hayas resuelto y compartido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas