Im Artikel Tabellen [basics]: Verknüpfung aktualisieren (www.access-basics.de/612) haben wir uns angeschaut, wie wir die Verknüpfungen zu den Tabellen in einer Backenddatenbank in einem Frontend wiederherstellen, wenn diese einmal nicht mehr stimmen. Dort ist die Frage aufgetaucht, ob man nicht per Makro beim Öffnen einer Datenbank prüfen kann, ob die Verknüpfungen aktuell sind und, falls dies nicht der Fall ist, automatisch den Benutzer informiert und den Tabellenverknüpfungs-Assistenten aufruft, um die Verknüpfungen zu aktualisieren. Ob und wie das gelingt, schauen wir uns im aktuellen Artikel an.
Beispieldatenbank
Die Beispiele dieses Artikels findest Du in der Datenbank 2206_TabellenBasics_Verknuepfung.zip.
Seit der Version 2010 bietet Access einen deutlich erweiterten Umfang an Makro-Funktionen an. Warum ich das erwähne, obwohl diese Version nun auch schon mindestens 12 Jahre auf dem Buckel hat Weil es sicher Leser unter Euch gibt, die den Makros seit langer Zeit den Rücken zugewendet haben und einfach nicht mitverfolgt haben, was in der Zwischenzeit geschehen ist. Und weil es nach meiner Erfahrung auch Entwickler gibt, die immer noch mit Access 2003 oder Access 2007 arbeiten und vielleicht einen Anreiz brauchen, um ein Upgrade durchzuführen …
Wichtig ist eigentlich nur: Wir können ohne Einsatz von VBA eine Menge mehr erreichen, als es früher der Fall war. Also schauen wir uns an, ob wir die oben gestellte Aufgabe mit Access-Makros erledigen können.
Aufgabenstellung
Die Aufgabe ist einfach: Wir wollen dafür sorgen, dass eine Access-Datenbank beim Starten automatisch prüft, ob die enthaltenen Tabellenverknüpfungen aktuell sind, das heißt, dass der Pfad zu der Datenbankdatei, welche die verknüpften Tabellen enthält, korrekt ist.
Ist das nicht der Fall, soll einfach der Tabellenverknüpfungs-Manager erscheinen und dem Benutzer die Möglichkeit geben, die Verknüpfung zu aktualisieren, sodass er wieder mit der Datenbank arbeiten kann.
Zuvor wollen wir dem Benutzer jedoch noch in einer kleinen Meldung mitteilen, was überhaupt los ist und welche Schritte nötig sind, um das Problem zu beheben.
Automatisches Ausführen beim Start
Ein wichtiger Aspekt ist, dass unser Mechanismus, den wir per Access-Makro definieren wollen, automatisch ausgelöst wird. Das erledigen wir im Falle eines Makros ganz einfach: Wir speichern es einfach unter dem Namen Autoexec
Das Makro mit diesem Namen wird beim Start der Anwendung automatisch aufgerufen.
Erkennen des Problems: Verknüpfung zu einer Tabelle funktioniert nicht
Die erste Aufgabe für unser kleines Projekt ist, zu erkennen, dass die Verknüpfungen nicht funktionieren, also das die für die Verknüpfung angegebene Tabelle nicht gefunden werden kann.
Das kann sowohl daran liegen, dass der Pfad zur Backenddatenbank, in der die Tabelle liegt, geändert wurde oder dass sich der Name der Tabelle geändert hat – dann erscheint beispielsweise die Meldung aus Bild 1.
Bild 1: Fehler, wenn eine verknüpfte Tabelle nicht in der angegebenen Datenbank gefunden werden kann
Wie aber können wir das per Makro herausfinden Es gibt dort nicht so genaue Möglichkeiten wie unter VBA, wo wir beispielsweise genau prüfen können, ob die für die Verknüpfung angegebene Datei existiert und auch noch die betroffene Tabelle enthält.
Aber wir können ersatzweise etwas anderes ausprobieren: nämlich die Tabelle einfach einmal zu öffnen.
In einem neuen, leeren Makro, das wir mit dem Ribbon-Befehl Erstellen|Makros und Code|Makro anlegen, fügen wir dazu einfach einmal den Befehl ÖffnenTabelle hinzu und geben als zu öffnende Tabelle die Tabelle tblAnreden an (siehe Bild 2).
Bild 2: Makro mit einer Aktion zum Öffnen einer Tabelle
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: