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