Manualmente
1. Clic con el botón secundario sobre la tabla vinculada, seleccionamos Administrador de tablas vinculadas.
2. Activamos la casilla de verificación Preguntar siempre por la nueva ubicación.
3. Marcamos la casilla de verificación de las tablas que deseamos cambiar y clic en Aceptar.
4. Seleccionamos en el cuadro de diálogo la nueva base de datos y clic en Abrir.
Programáticamente
En el primer ejemplo, tenemos solamente una tabla vinculada a una base de datos en la misma carpeta que el fichero de Access actual. Es necesario escribir tanto el nombre de la tabla vinculada como el de la base de datos origen de la misma.
Sub CambiarRutaTablaVinculada() Dim dbs As DAO.Database Set dbs = CurrentDb dbs.TableDefs("Tabla vinculada").Connect = ";DATABASE=" _ & CurrentProject.Path & "\BBDD de la tabla vinculada.mdb" dbs.TableDefs("Tabla Vinculada").RefreshLink End Sub End SubEn este segundo ejemplo, se actualizan todas las tablas vinculadas. Se asume que las bases de datos origen de las mismas están en la misma carpeta que el fichero de Access actual.
Sub CambiarTodasRutasTablaVinculadas() Dim fso As New FileSystemObject Dim fileName As String Dim dbs As DAO.Database Dim tdf As DAO.TableDef Set dbs = CurrentDb For Each tdf In dbs.TableDefs fileName = fso.GetFileName(tdf.Connect) If fileName <> "" Then dbs.TableDefs(tdf.Name).Connect = ";DATABASE=" _ & CurrentProject.Path & "\" & fileName dbs.TableDefs(tdf.Name).RefreshLink Else End If Next tdf End Sub
Muchas gracias por este ejemplo, llevaba mucho tiempo buscado como hacer esto.
ResponderEliminarMe alegro de que te haya sido de utilidad. Gracias por el comentario. Saludos.
EliminarBuenas tardes,
ResponderEliminarEl codigo de tabla individual me funciona perfecto, pero en el de todas las tablas no, me sale un mensaje de error que dice
"No se ha definido el tipo definido por el usuario"
Gracias
Ricardo
Buenos días, ¿qué es lo que has intentado hacer para averiguar el origen del error?
EliminarSaludos
ve al editor VBA\Herramientas\Referencias y activa las casillas
Eliminar- Visual Basic for applications
- Microsoft access 15.0 object library
- Ole automation
- Microsoft Visual Basci por Applications ext...
- Microsoft office 15.0 Access database engine...
- Miscrosoft Scripting Runtime
Muy util. Gracias
EliminarY si no esta atado a una base de datos si no que esta vinculado a un excel
ResponderEliminar¿Qué es lo que has intentado?
Eliminar