Access - Como exportar tablas con codigo vb

 
Vista:

Como exportar tablas con codigo vb

Publicado por Sandra Sanabria (3 intervenciones) el 07/12/2006 15:26:05
Necesito exportar unas tablas desde la base de datos que estoy trabajando hacia otra que creo mediante codigo, pero no se como hacerlo, la idea es exportar unas tablas determinadas hacia la base de datos que creo en tiempo de ejecucion , por favor necesito de su ayuda.... gracias
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

Cómo exportar tablas a una nueva base de datos en tiempo de ejecución mediante código VBA

Publicado por Alejandro (4142 intervenciones) el 31/07/2023 18:53:33
Para exportar tablas desde una base de datos existente hacia otra que creas en tiempo de ejecución mediante código en Microsoft Access, puedes utilizar el siguiente procedimiento. Supongamos que ya tienes la base de datos existente abierta y estás creando una nueva base de datos en tiempo de ejecución:

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
46
47
Sub ExportarTablas()
    On Error Resume Next ' Ignorar errores si la tabla no existe en la base de datos actual
 
    ' Nombre de las tablas que deseas exportar (separadas por coma)
    Dim tablasAExportar As String
    tablasAExportar = "Tabla1, Tabla2, Tabla3"
 
    ' Ruta y nombre de la nueva base de datos que crearás en tiempo de ejecución
    Dim nuevaBaseDatos As String
    nuevaBaseDatos = "C:\Ruta\NuevaBaseDeDatos.accdb"
 
    ' Crea una nueva base de datos
    Dim db As DAO.Database
    Set db = DBEngine.CreateDatabase(nuevaBaseDatos, dbLangGeneral)
 
    ' Itera a través de las tablas a exportar
    Dim tabla As Variant
    Dim sql As String
    For Each tabla In Split(tablasAExportar, ",")
        ' Verifica si la tabla existe en la base de datos actual
        If TableExists(tabla) Then
            ' Exporta la tabla a la nueva base de datos
            sql = "SELECT * INTO [" & tabla & "] IN '" & nuevaBaseDatos & "' FROM [" & tabla & "]"
            CurrentDb.Execute sql
        End If
    Next tabla
 
    ' Cierra la nueva base de datos
    db.Close
    Set db = Nothing
 
    MsgBox "Tablas exportadas exitosamente a la nueva base de datos.", vbInformation
End Sub
 
Function TableExists(tableName As String) As Boolean
    Dim db As DAO.Database
    Dim tblDef As DAO.TableDef
 
    On Error Resume Next
    Set db = CurrentDb
    Set tblDef = db.TableDefs(tableName)
    On Error GoTo 0
 
    TableExists = Not (tblDef Is Nothing)
    Set tblDef = Nothing
    Set db = Nothing
End Function

Asegúrate de ajustar la variable `tablasAExportar` con los nombres de las tablas que deseas exportar (separados por coma) y especifica la ruta y nombre para la nueva base de datos en la variable `nuevaBaseDatos`.

Este código utiliza DAO (Data Access Objects) para crear la nueva base de datos y luego ejecuta consultas de selección para cada tabla especificada en `tablasAExportar`, exportándolas a la nueva base de datos.

Recuerda que debes tener cuidado al crear o modificar bases de datos en tiempo de ejecución y asegurarte de tener copias de seguridad de tus datos importantes.

Espero que esta solución te sea útil para exportar las tablas hacia la nueva base de datos que creas en tiempo de ejecución. ¡Buena suerte con tu proyecto!
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