Vincular varias bases de datos
Encontré este ejemplo googleando porque necesito poder revincular las tablas de mi aplicación access con las distintas bases de datos, por años, ya que tengo las tablas ocultas para que no sean copiadas y no me sirve borrarlas y volverlas a vincular.
Este código lo hace pero por defecto solo se enlaza y revincula si las bases de datos y la aplicación estás en mis documentos, disco C:\ y necestito que se haga estando las bases y el .mde en D:\
Private Sub Form_Load()
Dim strBaseDatos As String
Me.lstAños.RowSource = ""
' establezco el directorio activo
ChDir CurrentProject.Path & "\"
' recorro en un bucle las bases de datos "*Datos*" del directorio
strBaseDatos = Dir("*.mdb")
Do While Not strBaseDatos = ""
' selecciono los archivos que cumplan las condiciones necesarias
If InStr(strBaseDatos, "BD") <> 0 And InStr(strBaseDatos, "Datos") <> 0 Then
' inserto en el cuadro combinado los años y correspondientes bases de datos (en columna oculta)
Me.lstAños.AddItem "Año " & Mid(strBaseDatos, InStr(strBaseDatos, ".") - 4, 4) & ";" & strBaseDatos
End If
strBaseDatos = Dir
Loop
' selecciono el año actualmente vinculado, para ello lo extraigo de la actual ruta
strBaseDatos = CurrentDb.TableDefs(0).Connect
Me.lstAños = "Año " & Mid(strBaseDatos, InStr(strBaseDatos, ".") - 4, 4)
'AjustarTamaño Me
'DoCmd.OpenForm "frmINFO", , , , , acDialog
End Sub ' Form_Load
_______________________________________________________________________
Private Sub lstAños_AfterUpdate()
' al seleccionar el año, revinculo las tablas.
ReVinculaTablas Me.lstAños.Column(1)
End Sub ' lstAños_AfterUpda