'*******************************************************************************
'* ReVinculaTablas
'* recorro las distintas tablas de la base de datos revinculandolas a la ruta
'* indicada
'* Argumentos: strBDRemota => ruta de la base de datos remota
'* uso: ReVinculaTablas "48-DatosAño2005.mdb"
'* ESH 30/04/06 12:16
'*******************************************************************************
Public Function ReVinculaTablas(strBDRemota As String)
Dim i As Long, _
dbs As DAO.Database
On Error GoTo ReVinculaTablas_TratamientoErrores
Set dbs = CurrentDb
For i = 0 To dbs.TableDefs.Count - 1
' si dbs.TableDefs(i).connect no está vacio, es por que se trata de una tabla vinculada
If (dbs.TableDefs(i).Connect <> "") Then
' así pues asigno la "nueva" ruta a la tabla vinculada
dbs.TableDefs(i).Connect = ";DATABASE=" & CurrentProject.Path & "\" & strBDRemota & ";PWD=Mipassword" & ";"
dbs.TableDefs(i).RefreshLink
End If
Next i
ReVinculaTablas_Salir:
Set dbs = Nothing
On Error GoTo 0
Exit Function
ReVinculaTablas_TratamientoErrores:
If Err.Number = 3024 Or Err.Number = 3078 Or Err.Number = 3011 Then
MsgBox "La base de datos " & strBDRemota & vbCrLf & CurrentProject.Path, vbCritical + vbOKOnly, "ATENCION"
Else
MsgBox "Error " & Err.Number & " en proc. ReVinculaTablas de Módulo mdlGeneral (" & Err.Description & ")", vbOKOnly + vbCritical
End If
GoTo ReVinculaTablas_Salir
End Function ' ReVinculaTablas