División de BBDD Access mediante código

Estoy terminando una aplicación con Access y VBA. He visto la opción de "Dividir Base de Datos" que te permite tener por un lado las tablas y por el otro el código, formularios, consultas e informes. Me parece la ideal para el caso de preparar futuras actualizaciones en caso de que finalmente sean varios los usuarios que la empleen fuera de una misma red. La forma de hacerlo que conozco es usando las herramientas de Access. Sin embargo me gustaría saber si es posible hacerlo mediante código, de manera que la primera vez que se use la aplicación ésta se divida y el usuario pueda decidir dónde colocar el bloque de datos.

1 respuesta

Respuesta
1

Lo que yo haría es dejar la BD divida de antemano con el siguiente código:

BUHO Access ejemplos: Vincular tablas al inicio.

De este modo, al iniciar la aplicación comprobará los vínculos y si se han roto pedirá al usuario seleccionar la nueva ubicación. Este es muy útil para BD divididas.

Muchísimas gracias. Lo pruebo y te comento.

Marcelo.

Muy bien.

Hola, he estado intentando meter y adaptar el codigo que me has mandado a los datos de mi programa. Está bastante por encima de mi nivel de programación, pero me voy defendiendo como puedo, aunque todo me suena un poco a arameo, la verdad. Sin embargo, me quedé parado con la función (o lo que sea) apiGetopenFilename. Me da error aL compilar. Veo que la rutina es de 2002. Pudiera ser problema de version de access o de librerias? Si no te importa, dame alguna pista para poder seguir.

Saludos. Marcelo

Siento que voy a tardar con esta pregunta porque ando apurado y tengo que mirarlo a fondo. Por lo menos hasta mañana no puedo arreglártelo.

Disculpa.

Cuando tu puedas, amigo

Gracias de todos modos

He sacado un poco de tiempo y aquí te dejo el resultado.

Funciona perfectamente en 2007 o superior.

Es un formulario que te muestra las bases de datos que vinculan alguna tabla actualmente. El usuario elige la ruta donde se encuentran las BD y actualiza los vínculos de las tablas. Va eliminando de la lista las BD ya actualizadas de modo que se muestran solo las que quedan por actualizar.

Cuando actualiza todas envía un mensaje al usuario indicándole que están todas listas.

Se podría mejorar con chorraditas del estilo que te muestra también las tablas, que te marque las tablas que ya están vinculadas, que te diga si los vínculos están o no rotos... pero bueno, eso ya es al gusto del consumidor.

Ejemplo vincular tablas al inicio 2007

Este ejemplo sale de la suma de otros ejemplos y alguna aportación propia.

Buenas noches. Sigo sin éxito. Continúa dándome errores el código que me mandaste

De cara a lo que estoy preparando creo que es más útil para mí lo primero que me mandaste con las funciones para controlar la vinculación

Trabajo con un Access de 64 bytes. En alguno de los errores de compilación se me advirtió de esta circunstancia y de que el código no era válido. ¿Puede ser ese el problema?

Te podría enviar una bbdd con una tabla y un formulario seleccionados de mi aplicación y que tú le pegaras ese código que me mandaste y vieras por qué casca.

En cualquier caso  muchas gracias de nuevo por la atención que me estás prestando.

Marcelo

Pásame una BD y lo miro.

Te la he pasado a la dirección de correo que tienes en la web de planeta informático.

Gracias por todo lo que me estás ayudando. Tienes un amigo en Sevilla

Marcelo

En la base de datos de ejemplo no tienes ninguna tabla vinculada, ¿la tabla que me pones es la que tiene que estar vinculada?

Afirmativo. Mi idea era que me la dividieras y que le hicieras las pruebas aplicándole las funciones que me enviaste

Aquí tienes con el formulario de vincular funcionando.

No hice nada más que importarlo del otro archivo que te había enviado y funcionó.

BD Ejemplo con vinculo.

Pues la verdad es que ahora lo he probado y me va perfectamente

Perdona, se me había cortado. Te decía que ahora sí me va. No sé que me pasaría ayer. Discúlpame estos errores de novato.

Te querría hacer la consulta final antes de que me mandes a freír espárragos por estar abusando de tu paciencia y confianza: Me gustaría aprovechar la función de vincular que me ofrece tu formulario para meterla en mi aplicación, adaptando un poco el formato del formulario y metiendo algún texto aclaratorio más. Creo que hasta ahí llego. Pero he estado intentando que el formulario se abra de manera automática al arrancar si se detecta el error de vinculación (he visto por ahí que es el 3044). No tengo ninguna práctica en trabajar con errores y no soy capaz de evitar que  aparezca el error de sistema de que la ruta no es válida y tal y tal...... Entiendo que sería cuestión de poner una condición al cargar de que si se produce el referido igual abra el formulario, no? ¿Se puede hacer y evitar que se interrumpa la aplicación?

Mil gracias de nuevo

quería decir al final "el referido error"

Iba a intentar hacerlo yo, pero no me da tiempo.

Aquí te dejo un ejemplo. Si no puedes me cuentas e intento mirarlo.

Comprueba Vinculos

Al compilar me da error en browsefolder. No sé muy bien si es una función o una instrucción. He mirado por ahí pero no encuentro nada que me lo aclare. Bueno, seguiré programando en la parte que domino y ya me dices algo de estos temas más complejos para mí.

Por otra parte, estoy viendo una implicación muy importante de todo esto, y es que con estos módulos funcionando podría solucionar algo que no tenía previsto desde el principio, que es que la aplicación funcionase como multiempresa.

Ya comentamos. Gracias de nuevo

¿Qué significa Multiempresa para ti?

La aplicación que preparo es para llevar la gestión de socios en una empresa. Inicialmente la concebí como una aplicación por empresa, pero con lo que estamos viendo se podrían gestionar varias empresas a la vez, cambiando la viculacion a la bbdd que proceda.

Siento el retraso.

Bueno aquí tienes un ejemplo de como ver si las tablas están vinculadas correctamente y solo mostrar las que faltan.

Ejemplo tablas vinculadas mejorado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas