Vincular y borrar tablas automáticamente en Access usando VBA

vincular-tablas-vba

Escrito por Administrador

16 de diciembre de 2021

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).

bloquear-access-fecha
bloquear-access-fecha

Dicho formulario dispone de dos botones: uno para vincular las tablas del archivo de datos y otro para borrarlas.

bloquear-access-fecha

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.

bloquear-access-fecha

Si ahora pulsamos el botón Borrar tablas y actualizamos el panel de navegación, desaparecerán.

bloquear-access-fecha

Espero que te haya sido de utilidad este post y que hayas aprendido a vincular y borrar tablas automáticamente en Access usando VBA.

Un saludo y hasta la próxima.

Descarga el archivo del ejemplo

Por favor, ayúdame y haz clic en el anuncio. Solo te lleva un segundo 😉

 


0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Quizá te interese,

Contacto