In Access-Datenbanken werden hĂ€ufig Tabellen aus externen Datenquellen wie anderen Access-Backends, SQL Server, Excel oder Textdateien verknĂŒpft. Wenn sich der Speicherort der Quelldateien Ă€ndert – z. B. durch einen neuen Server oder Pfad – funktionieren diese VerknĂŒpfungen nicht mehr. Benutzer erhalten dann Fehlermeldungen oder sehen leere Tabellen.
Access bietet seit Office 2016 einen neuen Relink–Dialog, der ĂŒbersichtlicher und moderner gestaltet ist als das klassische VerknĂŒpfungs-Manager-Fenster. Mit VBA kannst Du diesen neuen Dialog direkt ansprechen – entweder um die VerknĂŒpfungen automatisch zu aktualisieren oder um dem Benutzer eine einfache Möglichkeit zu geben, die VerknĂŒpfungen selbst zu reparieren.
Neuer Relink-Dialog: Was ist anders?
Der neue Relink-Dialog bietet u. a.:
- Bessere Ăbersicht ĂŒber alle verknĂŒpften Tabellen
- Gruppierung nach Quelle (z. B. Pfad)
- Möglichkeit, gezielt Pfade zu aktualisieren
- UnterstĂŒtzung fĂŒr mehrere Datenquellen
- Benutzerfreundliche Navigation bei Netzwerkpfaden
Microsoft hat diesen Dialog in Access ĂŒber das Objektmodell zugĂ€nglich gemacht. So kannst Du ihn in Deine Anwendungen integrieren.
Beispiel: VerknĂŒpfte Tabellen mit dem Relink-Dialog aktualisieren
Du kannst den neuen Dialog wie folgt per VBA aufrufen:
Public Sub StarteRelinkDialog()
On Error GoTo Fehler
' Access internen Dialog verwenden
Application.RunCommand acCmdManageLinkedTables
Exit Sub
Fehler:
MsgBox "Fehler beim Ăffnen des Relink-Dialogs: " & Err.Number & " - " & Err.Description, vbCritical
End Sub
Das ist besonders nĂŒtzlich, wenn ein Benutzer beim Ăffnen der Datenbank feststellt, dass die VerknĂŒpfung nicht funktioniert. Du kannst diesen Befehl z. B. direkt im Startformular anbieten.
Alternativ: Automatisches Relinking per VBA
Wenn Du den Pfad kennst (z. B. weil die Datenbank portable sein soll oder auf einem Netzlaufwerk liegt), kannst Du auch alle TabellenverknĂŒpfungen automatisch aktualisieren:
Public Sub RelinkeAccessTabellen(Optional NeuerPfad As String)
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim AlteVerbindung As String
Dim NeueVerbindung As String
Set db = CurrentDb
For Each tdf In db.TableDefs
' Nur verknĂŒpfte Tabellen bearbeiten
If Len(tdf.Connect) > 0 And Left(tdf.Connect, 10) Like ";DATABASE=*" Then
AlteVerbindung = tdf.Connect
' Wenn kein neuer Pfad ĂŒbergeben wurde, alten Pfad extrahieren und Dialog anbieten
If NeuerPfad = "" Then
MsgBox "Tabelle """ & tdf.Name & """ ist verknĂŒpft mit:" & vbCrLf & AlteVerbindung, vbInformation
Application.RunCommand acCmdManageLinkedTables
Exit Sub
End If
' Neue Verbindung erzeugen
NeueVerbindung = ";DATABASE=" & NeuerPfad
' VerknĂŒpfung aktualisieren
tdf.Connect = NeueVerbindung
On Error Resume Next
tdf.RefreshLink
On Error GoTo 0
End If
Next
MsgBox "VerknĂŒpfungen wurden aktualisiert.", vbInformation
End Sub
Diese Routine kannst Du z. B. bei Programmstart nutzen, um automatisch auf ein neues Backend zu verlinken, etwa in C:\Daten\backend.accdb
.
Beispielaufruf:
Call RelinkeAccessTabellen("C:\Daten\backend.accdb")
Oder ohne Pfadangabe:
Call RelinkeAccessTabellen ' â Ăffnet neuen Relink-Dialog
Tipps fĂŒr den produktiven Einsatz
- Biete den Dialog nur dann an, wenn die Datenquelle fehlt (
Dir(Path) = ""
) - Speichere den zuletzt genutzten Pfad in einer lokalen Tabelle oder INI-Datei
- Vermeide harte Pfadangaben – nutze relative Pfade oder Umgebungsvariablen
- Verlinke Tabellen möglichst zentral ĂŒber eine kleine Konfigurationsfunktion
Fazit
Der neue Relink-Dialog in Access ist eine willkommene Verbesserung fĂŒr Benutzerfreundlichkeit und Wartbarkeit – besonders in Mehrbenutzerumgebungen. Mit wenigen Zeilen VBA kannst Du ihn bequem in Deine Anwendung einbauen oder alternativ sogar vollautomatisches Relinking umsetzen.
Du brauchst UnterstĂŒtzung bei der Verlinkung von Tabellen, Migration von Access-Backends oder Automatisierung per VBA? Dann melde Dich bei mir – ich helfe Dir gern!
đ DatenschĂ€fer – Auswertung, Analyse und Automatisierung fĂŒr KMU im Norden
đ§ Kontakt ĂŒber sesoft.de | đ§ Access · VBA · SQL Server · Power Platform
Keine Antworten