Access - Vincular Tablas Automaticamente

 
Vista:

Vincular Tablas Automaticamente

Publicado por Ramon (11 intervenciones) el 18/08/2004 13:30:39
Hola, tengo una aplicación desarrolalda en Access-97 con algunas tablas de Foxpro vinculadas y otras de otro MDB, EL 99% DE LAS TABLAS SON TODAS VINVULADAS. Cuando instalo el MDB en otro ordenador para que funcione bien a veces tengo que ir manualmente a HERRAMIENTAS --> COMPLEMENTOS --> ADMINISTRADOR DE TABLAS VINCULADAS -->SELECCIONAR TODO Y ACEPTAR para que la vinvulación se quede bien.
¿Hay alguna manera por código ó macro que haga esto automáticamente por ejemplo pulsando un botón que lo haga?.
Tengo varias tablas vinvuladas y puedo ir añadiendo alguna mas en un futuro, pero cada vez que instalo la aplicacion tengo que hacer esos pasos a mano.
Gracias por vuestra ayuda.
Ramón
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

Vincular Tablas Automaticamente

Publicado por Alejandro (4142 intervenciones) el 09/05/2023 21:52:48
Sí, es posible automatizar el proceso de vinculación de tablas en Access utilizando código VBA. Puedes crear una función o un procedimiento que realice la vinculación de tablas de forma automática al ejecutarlo.

Aquí te muestro un ejemplo de cómo podrías hacerlo utilizando VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub VincularTablas()
    Dim db As Database
    Dim tdf As TableDef
    Dim strDirectorio As String
    Dim strTabla As String
 
    ' Establecer la ruta del directorio que contiene los archivos de base de datos externos
    strDirectorio = "C:\Ruta\Directorio"
 
    ' Establecer una referencia a la base de datos actual
    Set db = CurrentDb
 
    ' Recorrer todas las tablas vinculadas en la base de datos
    For Each tdf In db.TableDefs
        ' Verificar si la tabla es una tabla vinculada
        If tdf.Attributes And dbAttachedTable Then
            ' Extraer el nombre de la tabla vinculada
            strTabla = tdf.Name
 
            ' Verificar si la tabla no está vinculada correctamente
            If Left(tdf.Connect, Len(strDirectorio)) <> strDirectorio Then
                ' Actualizar la cadena de conexión de la tabla
                tdf.Connect = ";DATABASE=" & strDirectorio & "\" & strTabla & ".dbf"
                tdf.RefreshLink
            End If
        End If
    Next tdf
 
    Set tdf = Nothing
    Set db = Nothing
 
    MsgBox "Las tablas se han vinculado correctamente.", vbInformation
End Sub

Este código recorre todas las tablas vinculadas en la base de datos y verifica si están vinculadas correctamente. Si la ruta de conexión no coincide con la ruta deseada, actualiza la cadena de conexión y refresca el enlace.

Puedes asociar este código a un botón o llamarlo desde un evento para que se ejecute automáticamente cuando sea necesario. Asegúrate de ajustar la variable `strDirectorio` con la ruta correcta donde se encuentran los archivos de base de datos externos.

Espero que esta solución te sea útil. ¡Buena suerte con tu aplicación!
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