Cómo solucionar error 3276 en tiempo de ejecución de vba access: referencia de objeto de base de datos no válida.

Tengo la base de datos en un ordenador dividida en dos archivos: el ejecutable con formularios, informes... Y el de datos. Al iniciarse el ejecutable inicia la vinculación con las tablas de datos que está en el mismo directorio del ejecutable y luego sigue la ejecución normal mostrando el siguiente formulario llamado "ingreso". En mi ordenador portátil funciona perfectamente, pero cuando llevo ambos archivos a otro ordenador es cuando me aparece ese error. Al darle al botón de depurar me muestra que señala la siguiente linea de comando:

    DoCmd. OpenForm "ingreso", acNormal, "", "",, acNormal

¿Cómo se puede solucionar para que realice la carga bien?

Respuesta
1

Te sugiero que si tu vas a dividir una base de datos en tablas y el otro que contengan los formulario informes y demás, tengas en un solo sitio el archivo con las tablas por que si tu copias los dos no estas haciendo nada si quieres la aplicación con terminales

Algo así perdona lo hice en paint pero lo hago para que me entiendas.

Si tu haces la división de la base de datos en un computador y copias los dos archivos en otro este ultimo no te va a servir por la ruta de las tablas vinculadas aunque si tu lo quieres hacer así como lo estas haciendo la solución es la siguiente: Abres Access Luego buscas en recientes oprimes la tecla shift y le das click a la aplicación así lo abres en modo administrador osea no te va a ejecutar nada entonces le das click derecho a la tablas vinculadas luego le das a la opción Administrar tabla Vinculadas, luego se te abre una ventana le das al botón seleccionar todo y luego aceptar te va a pedir que busques el archivo que contiene las tablas de ahí en adelante el actualiza la ubicación y ya. Luego te vas a donde dice compactar base de datos y la aplicación debería de servirte. Cualquier cosa me avisas a ver si te puedo ayudar en otra cosa.

1 respuesta más de otro experto

Respuesta
1

Pedro: Has probado solo con>>

DoCmd. OpenForm "ingreso"

Y por supuesto asegura que el Formulario se llama así. Mis saludos >> Jacinto

Pedro: Se me ha pasado comentarte si el SO del otro Ordenador es el mismo y si la varsión de Access también lo es.

Si la versión de Access cambia es posible que sea un tema de Referencias.

Sin otros datos es lo único que se me ocurre. Mis saludos >> Jacinto

El sistema operativo es diferente (windows 8 en portátil y windows 7 en los ordenadores donde tengo problemas) y la versión de access la misma. No es un problema del comando. Por si sirve, ha habido un momento en el portátil en el que me ha aparecido el problema y tras compactar y reparar se solucionó, pero no en los otros ordenadores. Es como si no entendiese los comandos porque están bien escritos y los objetos existen.

Pedro: Si puedes poner una imagen de las Referencias que usas, es posible que nos de una pista. Imagen como ésta

Mis saludos >> Jacinto

Hoja Jacinto. Las referencias que tengo son las siguientes:

Por si sirve de ayuda, cuando el otro ordenador tiene windows 8 no hay problemas, pero sí cuando tiene windows 7. No sé si es casualidad o esa puede ser la causa. La cuestión es cómo solucionarlo.

Pedro: Me inclino a pensar que al cambiar el Sistema Operativo, la versión de alguna librería tiene un conflicto de versiones.

Dado que casi todas están en el Shared, yo haría la prueba quitando la OLE y volviendola a Referenciar ya que ésta si que es del SO. Por supuesto en la(s) maquinas con W7

El tema lo veo por ahí y te he recomendado esa como la primera. Si no fuera haz la prueba una a una.

Prueba y me comentas. Mis saludos >> Jacinto

Jacinto, he hecho lo que me has dicho pero el problema sigue. Creo que no va a ser problema de las distintas versiones de windows. Hoy me ha ocurrido algo curioso. En el ordenador donde tengo windows 8 y funcionaba bien he intentado hacer una compactación y reparación del archivo principal (el que tiene todo menos las tablas). Me ha saltado un error diciendo que no se podía compactar porque el archivo estaba en uso. Desconozco por qué me ha aparecido este error. El caso es que, a partir de ese error, la siguiente vez que intenté abrir la bbdd me apareció el error 3226. Estoy más que perdido... Se me está ocurriendo crear una bbdd vacía e importar todos los objetos de la otra base de datos. A veces he solucionado problemas extraños así. Mañana lo hago y te cuento.

Nada. Me sigue haciendo cosas extrañas en el ordenador de windows 7

Pedro: Si no tienes datos personales y/o confidenciales, yo aún tengo un PC que tiene XP y la semana que viene a finales, esrtaré en una ONG en la que colaboro y tiene Windows 7 en algunas máquinas.

Lo único que ahora se me ocurre es que si se da el caso del inicio del Texto, o quieres cambiar los datos por ficticios, (lo puedes hace con alguna consulta de actualización), es que me envíes la BD e intento reproducir el fallo.

Si optas por ésta solución, puedes enviarmela a [email protected]

Mis saludos >> Jacinto

Como el problema se ve nada más arrancar te la mando simplificada. Cuando tenga un poco de tiempo te la mando. Muchas gracias.

Hola Jacinto. He tenido la semana muy liada y no he podido enviárte la BBDD. Hoy he hecho una prueba de nuevo (Yo tengo en casa Windows 8 en dos ordenadores). Aquí me ocurre lo siguiente: Tengo un archivo de BBDD que sólo funciona en un windows 8 y en el otro no. Si donde no funciona quito la referencia de OLE automation y Microsoft Office 14 Acess Database engine Object, compacto y reparo y vuelvo a referenciar, entonces me funciona. Pero ya no funciona en el otro ordenador con windows 8. No sé si esto te da alguna pista. Mañana voy a hacerlo en el trabajo con windows 7. Si al hacer esto lo puedo abrir en el ordenador con windows 7, pero no en los de windows 8 te mando la BBDD. Gracias

Te acabo de enviar la base de datos a tu correo

Hola Jacinto. Has encontrado alguna causa que motive el error? Ahora mismo el fallo me ocurre incluso en dos ordenadores con el mismo sistema operativo: Windows 8.

Solo he podido hacerlas con Office 2016 con Windows 10 64 bits.

El Office es 32 bits y no he tenido problemas. No recuerdo si habiamos comentado si los Sistemas que tu estás usando (me refiero al sistema operativo), son 32 o 64 bits o mezcala de ambos.

He probado escribiendo código para abrir otros Formularios, con y sin parámetros y no he podido reproducir el error.

Otra cuestión que no sé si has abordado es de partir de una BD en blanco, importar todos los objetos y ver si sigue el fallo.

Hay veces en que uno se atasca y esta es una de ellas. A ver si la puedo probar en otros sistemas.

Hace días ahora que no voy por la ONG. Si entre tanto se te ocurre preguntarme algo y se me ocurre como ayudarte, en cantado. Mis saludos >> Jacinto

El problema aparece claramente en sistemas operativos windows 7 de 32 bits. En windows 8 no suelo tener problemas. Aunque en algunas ocasiones he llegado a tener el problema en el mismo ordenador.

Lo que me has dicho de partir de una base de datos en blanco lo he intentado, pero sin  resultados.

Pedro: La verdad es que es un tema de análisis bonito de hacer.

Descartados varias alternativas y habiendo copiado todos los Objetos en una nueva BD, me queda pensar que hay que analizar, las secuencias iniciales de código en el que hay varios>>

DoCmd. OpenForm "NonbreForm", acNormal, "", "",, acNormal

No acabo de ver claro, y así te lo comenté al principio ese modo de apertura de los Formularios.

Ahora volveré a remirarlo, pero ese "sexto" parámetro acNormal me suena raro.

Si fuera acWindowNormal creo que encajaría mejor, pero lo miro.

En paralelo, puedes miralo y si es como me imagino habria que cambiar todos esos modos de apertura en todo el código.

Seguimos en contacto. Mis saludos >> Jacinto

Hola Jacinto, te escribo en relación al problema que me surgió antes del verano. Es para comentarte que ya he descubierto dónde estaba el problema. Creo que se debe a un problema del propio Access. En cuanto he actualizado a la versión 2016 he dejado de tener este problema. Te valoro todo como excelente, aunque sólo sea por el tiempo que le has dedicado.

Pedro: Gracias por comentarmelo.

Me alrgra que al final haya quedado resuelto, porque a mí también me tenia desconcertado.

A veces suelen ocurrir éstas cosas. Mis cordiales saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas