Entwickeln von Assistenten und Add-Ins
In den Handbüchern und in der Online-Dokumentation ist häufig von Assistenten bzw. Wizards die Rede.
Bevor wir uns mit der Programmierung derartiger »Helfer« beschäftigen, wollen wir klären, was ein Assis-
tent überhaupt ist und welche Typen es davon gibt.
Assistenten-Typen
Von verschiedenen Assistenten-Typen zu sprechen ist eigentlich falsch, handelt es sich doch im Grunde ge-
nommen immer um Access-Libraries, lediglich Funktion und optisches Erscheinungsbild unterscheiden
sich. Hauptaufgabe der Assistenten ist das Erweitern der Access-Programmierumgebung (IDE) um neue
Funktionen und Dialoge. Mit einigen Vertretern dieser Gattung haben Sie sicher schon mehr oder weniger
unfreiwilligen Kontakt gehabt, sei es beim Erstellen von Tabellen und Formularen oder beim Einfügen von
Controls. Es gibt unter Access wohl kaum eine Aufgabe, für die nicht irgendein Assistent seine Dienste an-
bietet.
In Access unterscheiden wir im Wesentlichen die folgenden Assistententypen:
Steuerelemente-Assistenten:
Steuerelemente-Assistenten (Control-Wizards), z.B. für Listenfelder
Eigenschaften-Assistenten (Property-Wizards)
Objekt-Assistenten:
Formular-Assistenten (Form-Wizards)
Tabellen-Assistenten (Table-Wizards)
Berichts-Assistenten (Report-Wizards)
Abfrage-Assistenten (Query-Wizard), wie z.B. der Kreuztabellenabfrage-Assistent
Die wohl einfachste Form eines Assistenten soll ebenfalls nicht vergessen werden: der Menü-Assistent.
Allerdings hat dessen Bedeutung mit Einführung der Multifunktionsleiste unter Access 2007 deutlich abge-
nommen, von ihm erstellte Menüs sind nur noch mit Mühe zu finden.
Obwohl sich alle Assistenten dem Anwender als Formular präsentieren, unterscheidet sich die Einbindung
zum Teil wesentlich, werden doch an einen Tabellenassistenten ganz andere Anforderungen gestellt als z.B.
an einen Property-Wizard. Aus diesem Grund teilen wir im Folgenden die Assistentenprogrammierung in
verschiedene Abschnitte auf, die sich mit jeweils einem Typ beschäftigen.
Einbinden der Assistenten in die Access-IDE
Wie schon seit Access 97 üblich, werden Assistenten nicht mehr über INI-Dateien eingebunden, sondern
über entsprechende Einträge in der Registrierdatenbank. Das soll jedoch nicht heißen, dass Sie mühsam
Schlüssel und Werte (Values) in die Registrierdatenbank eintragen müssen, diese Aufgabe nimmt Ihnen
Access mit Hilfe des Add-In-Managers zum großen Teil ab. Die folgende Abbildung zeigt den Ausschnitt
der Registrierdatenbank, der für Access zuständig ist.
995
Entwickeln von Assistenten und Add-Ins
Kapitel 15: Anwendungsdesign
Abbildung 15.68 Assistenten in der Registry
Es handelt sich um den Teilbaum HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft. Wie Sie unschwer er-
kennen können, werden die einzelnen Assistenten in Gruppen in der Registrierung verwaltet. Doch woher
stammen diese Einträge?
Um ein Add-In bzw. einen Assistenten in Access nutzen zu können, müssen Sie diesen zunächst mit dem in
Access integrierten Add-In-Manager (Registerkarte Datenbanktools)registrieren.
Abbildung 15.69 Add-In-Manager
Die im Add-In-Manager angezeigten Informationen entsprechen den Einträgen Firma und Kommentar im
Dialogfeld Datenbankeigenschaften Ihrer Add-In-Datenbank (Office Button/Verwalten/Datenbankeigenschaf-
ten). Tragen Sie Ihr Copyright und einige kurze Stichwörter ein, die den Assistenten genauer beschreiben.
Die Tabelle USysRegInfo
Haben Sie die gewünschte Add-In-Datenbank (MDA/ACCDA) ausgewählt, sucht der Manager in dieser
Datenbank automatisch nach einer Tabelle USysRegInfo.
Diese Tabelle (siehe folgende Abbildung) müssten Sie als Add-In-Entwickler selbst erstellen, der einfachste
Weg ist jedoch der Import dieser Tabelle aus einem anderen Add-In. Verwenden Sie dazu die Importfunk-
tion von Access.
996

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.