Hoy vamos a aprender a vincular y borrar tablas automáticamente en Access usando VBA.
Sobretodo, lo utilizaremos cuando vayamos a crear una copia de seguridad automática de nuestra BBDD a final de año. Así, podremos archivar las tablas antiguas y crear las nuevas.
Además, a modo de ejemplo, traigo un programa muy sencillito pero que ilustrará a la perfección la metodología a seguir. Consta de dos archivos, uno de datos (con dos tablas) y otro con el programa (un único formulario).
Dicho formulario dispone de dos botones: uno para vincular las tablas del archivo de datos y otro para borrarlas.
A continuación, os dejo el código a implementar en cada uno de los botones,
Private Sub Importar_tablas_Click()
Dim dbsActual As DAO.DataBase
Dim tdfProductos As DAO.TableDef
Dim strBDRemota As String
Dim strBDLocal As String
Dim rstRemoto As DAO.Recordset
'Ubicacion de la base de datos remota (donde se encuentra la tabla)
strBDRemota = "C:\Prueba\Vincular_tablas_vba_Datos.accdb"
'Ubicacion de la base de datos Local (la que recibirá la tabla vinculada)
strBDLocal = "C:\Prueba\Vincular_tablas_vba_Programa.accdb"
'Abrimos la base de datos a la que se le va a agregar la tabla vinculada
Set dbsActual = OpenDatabase(strBDLocal)
'Creamos la tabla vinculada "Movimientos" y su conexión
Set tdfMovimientos = dbsActual.CreateTableDef("Movimientos")
tdfMovimientos.Connect = ";DATABASE=" & strBDRemota & ";"
tdfMovimientos.SourceTableName = "Movimientos"
dbsActual.TableDefs.Append tdfMovimientos
'Creamos la tabla vinculada "Servicios" y su conexión
Set tdfServicios = dbsActual.CreateTableDef("Servicios")
tdfServicios.Connect = ";DATABASE=" & strBDRemota & ";"
tdfServicios.SourceTableName = "Servicios"
dbsActual.TableDefs.Append tdfServicios
End Sub
Private Sub Borrar_tablas_Click()
Dim dbs As DAO.DataBase
Set dbs = CurrentDb()
'Borramos las tablas
dbs.Execute "DROP TABLE Movimientos"
dbs.Execute "DROP TABLE Servicios"
End Sub
En primer lugar, el código define las bases de datos origen y destino para la vinculación de tablas para, posteriormente, crearlas y vincularlas.
Para el código de borrado, simplemente definimos la base de datos actual y borramos las tablas una a una.
Si tienes cualquier duda con el código, no dudes en preguntarme a través de los comentarios.
A continuación, vamos a ver cómo funciona usando el ejemplo.
Lo primero que tienes que hacer es copiar los dos archivos (datos y programa) en la siguiente ruta C:\Prueba.
Una vez lo hayas hecho, pulsa el botón Importar tablas. Después, pincha en cualquier sitio sobre el panel de navegación y presiona F5 para actualizar. Verás que aparecen vinculadas las dos tablas del archivo datos.
Si ahora pulsamos el botón Borrar tablas y actualizamos el panel de navegación, desaparecerán.
Espero que te haya sido de utilidad este post y que hayas aprendido a vincular y borrar tablas automáticamente en Access usando VBA.
Por último, invitarte a compartir tus dudas en los comentarios o en el foro, y a darle clic a la publicidad de abajo para ayudarme a seguir creando contenido.
Un saludo y hasta la próxima.
Descarga el archivo del ejemplo
Por favor, haz clic en el anuncio y ayúdame a seguir creando contenido. Solo te lleva un segundo 😉
2 Comentarios
Enviar un comentario
Últimas publicaciones
Excelente articulo sobre borrar y vincular tablas por medio de VBA
Gracias César. Por aquí andamos para cualquier cosa. Un saludo.