Access - Formulario Fantasma

   
Vista:

Formulario Fantasma

Publicado por roolandoo (4 intervenciones) el 22/03/2015 13:00:56
Hola,
En mi curro he "heredado" una base de datos de Access 2000 monstruosa. Contiene decenas de tablas, formularios, informes, consultas y mucho código fuente.

Necesitamos abandonar MS. Office en favor de OpenOffice pero dado la envergadura e importancia de dicha base de datos no es posible convertirla.

La solución, que ha funcionado con otras base de datos, pasa por hacerla ejecutable (MDE) y usar el Runtime de Access 2000 para ejecutarla. De esta manera ya no necesitaremos más licencias de MS. Office.

Hasta aquí todo correcto, el problema es que cuando intento "compilar" la base de datos haciéndola MDE, Access me da error (sin mucha información más). He descubierto que, en uno de los formularios, cuando intento acceder a su código fuente me da error. Parece ser que, por alguna causa, Access no encuentra el código fuente asociado a este form y no me permite tampoco añadir uno nuevo.

Puedo eliminar sin problemas el formulario problemático y su tabla o consulta, pero la clase Form asociada a este formulario en los objetos de clase no se elimina y me vuelve a tirar el error al compilar.

¿Sabéis cómo puedo eliminar esa clase Form?

Ya he probado a compactar y reparar, a crear un nuevo formulario con el mismo nombre, etc... pero la clase Form sigue dando error.

Saludos, gracias y perdón por la parrafada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito

Formulario Fantasma

Publicado por Neckkito (1104 intervenciones) el 23/03/2015 19:42:21
Hola!

No he trabajado con Access 2000 y tampoco me he encontrado con este problema que comentas, por lo que las ideas que te lanzo son desde una total oscuridad.

En el editor de VBA tienes una relación de todos los formularios e informes que tienen un módulo asociado. Eso lo puedes encontrar en la ventana de proyecto. Si seleccionas el formulario en cuestión en la ventana de proyecto y haces clic con el botón derecho, en el menú emergente, quizá te aparezca la opción de "Quitar módulo", o algo parecido. Podrías intentar quitar ese módulo así, a ver si te funciona.

Otra opción es que pruebes lo siguiente. Te haces una copia de tu base de datos y, en esa copia, le cambias la extensión de archivo por adp o por ade, de manera que te quede nombreBase.adp o bien nombreBase.ade. A ver si puedes ejecutar ese archivo con el runtime.

Y, si no, pues alguien que haya trabajado con A2000 y sepa cómo solventar el problema nos tendrá que ayudar ;-)

A ver si hay suerte.
firmaMail
http://neckkito.siliconproject.com.ar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario Fantasma

Publicado por roolandoo (4 intervenciones) el 24/03/2015 15:21:18
Muchas gracias Neckkito por tu respuesta.

Ya había probado lo que me comentas de "Quitar Módulo" pero siempre me aparece en gris esa opción y no puedo quitarlo.

Por otro lado (que yo sepa) el runtime de A2000 sólo ejecuta archivos .mde
He intentado ejecutar .mdb .adp y .ade pero no hace nada. Parece que no se pueden ejecutar con el runtime.

Si alguien más tiene alguna idea para probar, lo agradecería mucho.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito

Formulario Fantasma

Publicado por Neckkito (1104 intervenciones) el 24/03/2015 15:28:40
¿Y si te creas una BD en blanco e importas los objetos? Incluso podrías hacerlo paulatinamente; es decir, importas los cinco primeros formularios (por decir un número), lo que te importará los módulos asociados también, y una vez hecho esto compilas. Si no te da problemas pues haces lo mismo con los cinco siguientes, y así sucesivamente.

Ya se me acaban las ideas...

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario Fantasma

Publicado por roolandoo (4 intervenciones) el 24/03/2015 18:39:11
Ufff, lo intentaré, pero es una base de datos mastodóntica, con decenas de formulario, tablas, relaciones, macros, mucho código vbs y hasta validación por grupos y usuarios a través de .mdw. Cuando yo llegué, ya llevaban 12 años alimentándola y ampliándola.

Lo intentaré, pero:
¿Sabes si existe alguna manera de que el runtime ejecute archivos .mdb directamente y no .mde?

Esto me salvaría la vida.

Saludos y gracias por tu tiempo Neckkito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito

Formulario Fantasma

Publicado por Neckkito (1104 intervenciones) el 24/03/2015 19:30:50
Hola de nuevo.

Como ya te comenté, no he trabajado con Access 2000 y desconozco sus peculiaridades.

Te puedo decir que en un PC con Access 2013 e instalada la Runtime del 2010 la Runtime me abre sin problemas los archivos mdb de Access 2003. ¿Funcionaría con un A2000? Pues lo desconozco.

Si quieres pásame alguna pequeña mdb creada con A2000 y lo pruebo, y te digo si ha funcionado. Es lo único que puedo hacer. Mi mail es neckkito(ARROBA)gmail(PUNTO)com. Por favor, si me la pasas que sea comprimida en zip o rar.

De todas maneras no sé cómo será el asistente de importación de Access 2000, pero en 2003 puedes elegir el primer elemento y, pulsando la tecla mayúsculas, puedes seleccionar el último elemento. Eso hace que se seleccionen todos de golpe. No recuerdo si Access 2003 tiene el botón de "Seleccionar todos" (a partir del 2007 sí está el botón), con lo que da igual si son 2 tablas como 200, en el sentido de que no tienes que ir seleccionando los objetos uno a uno.

Un saludo,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario Fantasma

Publicado por roolandoo (4 intervenciones) el 25/03/2015 09:43:24
Al final todo solucionado.

Gracias a tus consejos, probando con el runtime 2007 en vez de runtime 2000 y poniendo un formulario de inicio, ha funcionado perfectamente sin necesidad de hacer un ejecutable .mde

Muchas gracias por tu ayuda Neckkito y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar