Vincular y borrar tablas automáticamente en Access usando 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.

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

  1. Avatar

    Excelente articulo sobre borrar y vincular tablas por medio de VBA

    Responder
    • Avatar

      Gracias César. Por aquí andamos para cualquier cosa. Un saludo.

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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

Últimas publicaciones

Categorías

mayo 2023
L M X J V S D
1234567
891011121314
15161718192021
22232425262728
293031  

Debates en el foro

Avatar
Macro para modificar datos
Avatar
Cuadro de texto
Loading poll ...

Contacto