Abbildung 15.70 Grundaufbau USysRegInfo
Sollte die Tabelle im Importfenster nicht angezeigt werden, haben Sie nicht etwa die falsche Datei geöffnet,
sondern Sie müssen die Option Systemobjekte einblenden aktivieren, da es sich bei der oben genannten
Tabelle um eine Systemtabelle handelt (Tabellen, die mit USys... oder MSys... bezeichnet sind, werden als
Systemtabellen interpretiert). Öffnen Sie dazu die Optionen des Navigationsbereichs und aktivieren Sie die
entsprechende Eigenschaft.
Wählt der Anwender das Add-In aus, erstellt der Manager mit den Werten aus der Tabelle USysRegInfo die
benötigten Einträge in der Registrierdatenbank. Dazu gehört unter anderem auch der Name der Ein-
trittsprozedur. Diese Funktion in der Add-In-Datenbank wird durch Access aufgerufen wenn das Add-In
aktiviert werden soll (z.B. Menübefehl ausgewählt). Gleichzeitig werden gegebenenfalls Parameter über-
geben.
Wenden wir uns nun den Details zu.
Menü-Assistenten (Beispiel)
Als Einstieg in die Assistentenprogrammierung wählen wir den einfachsten Typ. Alles, was zu einem Menü-
Assistent gehört, ist eine recht einfache Eintrittsprozedur (es werden keinerlei Parameter übergeben) und
ein Formular. Sie können natürlich auch gänzlich auf eine Oberfläche verzichten und lediglich Funktionen
ausführen (z.B. eine DLL-Funktion oder eine VBA-Funktion aus der Add-In-Bibliothek aufrufen).
Menü-Assistenten bzw. Add-Ins werden unter Datenbanktools/Add-Ins in die Access-Oberfläche eingebun-
den und angezeigt.
Abbildung 15.71 Beispiel für das Einbinden von Menü-Add-Ins
Einträge in der Tabelle USysRegInfo
Die folgende Abbildung zeigt den Inhalt der USysRegInfo-Tabelle für ein Menü-Add-In.
Abbildung 15.72 USysRegInfo-Tabelle (Ausschnitt)
997
Entwickeln von Assistenten und Add-Ins
HINWEIS
Kapitel 15: Anwendungsdesign
Die Werte der Tabelle besitzen im Einzelnen folgende Bedeutung:
Die erste Zeile erzeugt einen gleichnamigen Schlüssel in der Registrierdatenbank. Die Angabe von
HKEY_CURRENT_ACCESS_PROFILE bestimmt, dass bei der Arbeit mit Benutzerprofilen das Add-In
im gerade aktuellen Profil gespeichert wird. Verzichten Sie auf Nutzerprofile, werden die Eintragungen
automatisch unter HKEY_LOCAL_MACHINE vorgenommen. Der Name des Schlüssels bestimmt
gleichzeitig den Eintrag im Menü. Wollen Sie eine Zugriffstaste erzeugen, stellen Sie dem gewünschten
Buchstaben ein &-Zeichen voran.
Die zweite Zeile der Tabelle legt die aufzurufende Funktion fest.
In der dritten Zeile übergeben Sie dem Add-In-Manager den Namen der Library.
Wie das Ganze in der Registrierdatenbank aussieht, zeigt die folgende Abbildung:
Abbildung 15.73 Add-In in der Registry
Die Startprozedur
Für einen Menü-Assistenten benötigen wir noch die Eintrittsprozedur (es werden keinerlei Parameter über-
geben):
Function StartMenüAddIn()
DoCmd.OpenForm "Menü-Add-In"
End Function
Seit Access 2007 die Formulare auch im Registerkartenformat anzeigt ist es wichtig, dass Assistenten-Formu-
lare als Popup-Fenster erscheinen (Eigenschaft Popup = True).
Interaktion Add-In/aktuelle Datenbank
Mit dem Einbinden des Add-Ins und der Anzeige eines Formulars haben wir zwar schon die wesentlichsten
Hürden genommen, die Frage nach der Interaktion zwischen Add-In und der aktuellen Datenbank bleibt
jedoch noch unbeantwortet.
Die Lösung ist einfacher als Sie denken, mit CurrentDb() können Sie die aktuelle Datenbank-Instanz aus
dem Add-In heraus ansprechen und damit auch analysieren bzw. administrieren.
Der Rest bleibt Ihren DAO-Fähigkeiten überlassen (siehe Kapitel 6, DAO-Programmierung).
998

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.