Während ein Add-In, wie wir es im Artikel “Access-Add-Ins programmieren” demonstriert haben, auch so genannt und im entsprechenden Ribbon-Menü verfügbar ist, nennen sich die übrigen Add-Ins “Assistenten”. Schauen wir uns also nun an, wie die Assistenten sich von den Add-Ins unterscheiden und wie Sie diese programmieren. Den Start machen wir dabei mit den Objekt-Assistenten, also solchen Assistenten, die Sie für die verschiedenen Objekttypen wie Tabellen, Abfragen, Formulare und Berichte über das Ribbon-Tab “Erstellen” aufrufen können.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank Abfrageassistent.accdb.
Tabellen-Assistenten
Tabellen-Assistenten, wie es sie in früheren Access-Versionen einmal gab, finden Sie in den neuen Access-Versionen nicht mehr. Es gibt schlicht keinen Eintrag namens Tabellen-Assistent mehr im Ribbon unter Erstellen|Tabellen (für Abfragen, Formulare und Berichte gibt es diese noch). Aber können wir überhaupt noch eigene Tabellen-Assistenten anlegen, wenn wir gar keinen Eintrag namens Tabellen-Assistenten mehr in Access haben Dazu schauen wir uns zunächst die Vorgehensweise für einen Abfrage-Assistenten an, denn dort wissen wir, dass wir den Assistenten auch an der gewünschten Stelle vorfinden.
Abfrage-Assistenten
Die Abfrage-Assistenten von Access öffnen Sie, indem Sie auf den Eintrag Erstellen|Abfragen|Abfrage-Assistent im Ribbon klicken (siehe Bild 1).
Bild 1: Aufruf eines Abfrage-Assistenten
Es erscheint dann der Dialog aus Bild 2, der die vier in Access eingebauten Assistenten zum Erstellen von Abfragen für verschiedene Anforderungen anbietet. Diesem wollen wir nun einen eigenen Eintrag hinzufügen.
Bild 2: Der Dialog mit den verschiedenen Abfrage-Assistenten
Die Tabelle USysRegInfo
Diese Tabelle haben Sie bereits im Artikel Access-Add-Ins programmieren kennengelernt und Sie wissen, dass wir dort die Informationen speichern, die beim Installieren des Assistenten in die Registry eingetragen werden. Diese liest Access beim Start und stellt die dort registrierten Assistenten an den entsprechenden Stellen zur Verfügung – so wie etwa im oben vorgestellten Dialog Neue Abfrage.
Im Gegensatz zu einfachen Menü-Add-Ins gibt es bei den Objekt-Assistenten, also den Assistenten für die Erstellung von Tabellen, Abfragen, Formularen und Berichten eine Reihe weiterer Einstellungen, die in die Registry geschrieben werden müssen. Diese schauen wir uns nun im überblick an:
- Bitmap: Legt eine Bilddatei fest, die in dem Dialog zur Auswahl des Assistenten angezeigt werden soll, wenn der Benutzer den Assistenten markiert hat – siehe auch weiter oben im Bild des Dialogs Neue Abfrage (Zeichenfolge).
- BitmapID: Angabe einer ID, über die Sie die in der Datei MSAccess.exe enthaltenen Icons referenzieren und als Icon des Assistenten verwenden können (Zahlenwert).
- Datasource Required: Gibt an, ob für diesen Assistenten die Auswahl einer Datenquelle, also einer Tabelle oder Abfrage, erforderlich ist. In diesem Fall stellen Sie diese Einstellung auf den Wert 1 ein, anderenfalls auf den Wert 0 (Zahlenwert).
- Description: Wie bei den Add-Ins die Beschreibung des Add-Ins (Zeichenfolge).
- Function: Die beim Aufrufen des Assistenten aufzurufende VBA-Funktion (Zeichenfolge).
- Index: Einstellung für die Position des Assistenten in der Liste der verfügbaren Assistenten (Zahlenwert).
- Library: Pfad zu der Access-Datei, welche die aufzurufende Funktion enthält. In der Tabelle USysRegInfo können Sie den Ausdruck |ACCDIR als Platzhalter für den Add-In-Ordner auf dem jeweiligen System angeben.
Die Tabelle USysRegInfo
Die zuvor genannten Informationen tragen wir wie in Bild 3 in eine Tabelle namens USysRegInfo ein. Der Aufbau dieser Tabelle wurde bereits im Artikel Access-Add-Ins programmieren erläutert. Es gibt ein paar zusätzliche Informationen, die Sie für einen Wizard/Assistenten angeben können, aber zumindest die Angabe des Subkey ist identisch: Hier geben Sie den Platzhalter HKEY_CURRENT_ACCESS_PROFILE/… für den zu erstellenden Registry-Key an. In meiner Installation hat Access daraus einen recht wilden Registry-Pfad erzeugt:
Bild 3: Die Tabelle USysRegInfo für unseren Abfrage-Add-In-Dummy
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Office\16.0\Access\Wizards\Query Wizards\AbfrageAssistent
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: