Access - Importar tablas entre bases

 
Vista:

Importar tablas entre bases

Publicado por octavio (2 intervenciones) el 11/12/2005 05:08:09
Hola, espero que puedan ayduarme, quiero importar tablas de una base, usando Visual Basic para aplicaciones de Access 2003.

No quiero hace un link ya que debe ser dinamico, y en una sola base debe tener todo.

Agradezco su ayuda.
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

Importación dinámica de tablas utilizando VBA

Publicado por Alejandro (4142 intervenciones) el 14/06/2023 23:53:43
Puedes utilizar Visual Basic para Aplicaciones (VBA) en Access 2003 para importar tablas de una base de datos externa a tu base de datos actual. A continuación, te proporciono un ejemplo de código que puedes utilizar para lograr esto:

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
34
35
36
37
38
39
40
41
42
43
44
45
Sub ImportarTablas()
    Dim db As Database
    Dim tblDef As TableDef
    Dim tableName As String
    Dim externalDBPath As String
 
    ' Establecer la ruta de la base de datos externa
    externalDBPath = "C:\Ruta\Hacia\La\Base\De\Datos\Externa.accdb"
 
    ' Abrir la base de datos externa
    Set db = OpenDatabase(externalDBPath)
 
    ' Nombre de la tabla a importar
    tableName = "NombreTabla"
 
    ' Verificar si la tabla ya existe en la base de datos actual
    If TableExists(tableName) Then
        ' Eliminar la tabla existente
        DoCmd.DeleteObject acTable, tableName
    End If
 
    ' Importar la tabla desde la base de datos externa
    Set tblDef = db.TableDefs(tableName)
    DoCmd.TransferDatabase acImport, "Microsoft Access", externalDBPath, acTable, tableName, tableName
 
    ' Cerrar la base de datos externa
    db.Close
 
    ' Liberar los objetos
    Set tblDef = Nothing
    Set db = Nothing
 
    MsgBox "La tabla ha sido importada exitosamente."
End Sub
 
Function TableExists(tableName As String) As Boolean
    Dim tblDef As TableDef
 
    On Error Resume Next
    Set tblDef = CurrentDb.TableDefs(tableName)
    On Error GoTo 0
 
    TableExists = Not (tblDef Is Nothing)
    Set tblDef = Nothing
End Function

En este ejemplo, primero debes establecer la ruta de la base de datos externa en la variable `externalDBPath`. Luego, especifica el nombre de la tabla que deseas importar en la variable `tableName`. El código verifica si la tabla ya existe en la base de datos actual y la elimina si es necesario. Luego, se importa la tabla desde la base de datos externa utilizando la función `DoCmd.TransferDatabase`.

Recuerda reemplazar `"NombreTabla"` y `"C:\Ruta\Hacia\La\Base\De\Datos\Externa.accdb"` con los valores correspondientes a tu caso.

Espero que este ejemplo te ayude a importar tablas de una base de datos externa de forma dinámica utilizando VBA en Access 2003. ¡Buena suerte!
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