Para evitar que Access se abra varias veces al abrir el documento de Word que está vinculado a la base de datos, puedes utilizar una variable global para controlar si la base de datos ya está abierta o no. Aquí te proporciono una solución usando VBA (Visual Basic for Applications):
1. Abre el Editor de Visual Basic en Word presionando Alt + F11.
2. En el Editor, selecciona "ThisDocument" en el Explorador de proyectos. Si no aparece, asegúrate de que el documento esté abierto en Word y ve al menú Ver > Ventana de propiedades.
3. Agrega el siguiente código al evento Document_Open:
4. Asegúrate de guardar el documento con la extensión .docm para que pueda contener código VBA.
Con este código, cada vez que abras el documento de Word, primero buscará si ya existe una instancia de Access abierta. Si la encuentra, no abrirá otra instancia, sino que utilizará la existente. Si no hay una instancia de Access abierta, creará una nueva y abrirá la base de datos.
Para evitar que se cierre Access cuando cierras el documento de Word, simplemente asegúrate de no cerrar la instancia de Access desde el código VBA. Esto significa que no deberías tener un código que haga referencia al objeto "db" en el evento Document_Close o en algún otro lugar que cierre la base de datos.
Recuerda modificar la ruta y nombre del archivo de base de datos en el código para que coincida con tu ubicación real.
Nota: Ten en cuenta que esta solución está destinada a documentos individuales. Si necesitas una solución más robusta para múltiples documentos o para un entorno compartido, podría ser necesario abordarlo de manera diferente.