Access - No abrir mas de una vez

 
Vista:

No abrir mas de una vez

Publicado por yanira (140 intervenciones) el 01/12/2006 17:29:55
Tengo una combinacione entre word y access pero cada vez que abre el documento me abre como dos o tres veces la misma base de datos como hago para que no permita abrir la base mas de una vez y que cunaod cierre word no la cierre
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 Alejandro

Controlar apertura de base de datos desde Word

Publicado por Alejandro (4142 intervenciones) el 28/07/2023 22:45:34
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:

1
2
3
4
5
6
7
8
9
10
11
Private Sub Document_Open()
    On Error Resume Next
    Dim db As Object
    Set db = GetObject(, "Access.Application")
    On Error GoTo 0
 
    If db Is Nothing Then
        Set db = CreateObject("Access.Application")
        db.OpenCurrentDatabase "C:\Ruta\TuBaseDeDatos.accdb" ' Cambia la ruta y nombre de la base de datos
    End If
End Sub

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.
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