Réattacher les liens locaux

Rafraîchissement automatique des liaisons des tables attachées à base locale.

Cette méthode est interessante lorsque l'on transporte régulièrement une base installée sur un support amovible comme une clé USB.

Appelez la fonction par une macro "AutoExec" en renseignant le nom de la base dorsale (backend).

Function fnTableLink(strBase As String)
    On Error GoTo ErrTableLink
    Dim db As DAO.Database
    Dim strBackEnd As String
    Dim i As Integer
    
    Set db = CurrentDb()
    strBackEnd = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & strBase
    
    For i = 0 To db.TableDefs.Count - 1
        If db.TableDefs(i).Connect <> "" Then
            If Mid(db.TableDefs(i).Connect, 11) <> strBackEnd Then
                db.TableDefs(i).Connect = ";database=" & strBackEnd
                db.TableDefs(i).RefreshLink
            End If
        End If
    Next i
    
ExitTableLink:
    db.Close
    Set db = Nothing
    Exit Function
    
ErrTableLink:
    MsgBox "Une erreur est survenue lors de la connexion. ", vbCritical, "Connexion"
    Resume ExitTableLink
End Function

Dernière modification : 07/02/2010 23:21
Catégorie : Les mémos - Tables
Page lue 8523 fois