Home > Artikel > Ausgabe 3/2017 > Access-Add-Ins programmieren

Access-Add-Ins programmieren

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

Sicher haben Sie im Laufe der Zeit schon einmal ein Add-In benutzt. Diese tauchen zu verschiedenen Gelegenheiten auf: Beim Erstellen von Tabellen (nicht mehr in aktuellen Access-Versionen) oder Abfragen, beim Entwurf von Formularen und Berichten, beim Hinzufügen von Steuerelementen oder auch global als Menü-Add-In. In diesem Artikel zeigen wir Ihnen, wie Sie selbst den Grundstein für die Erstellung eines Add-Ins für Ihre eigenen Zwecke legen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank AccessAddIn.accda.

Beispiele für eingebaute Add-Ins

Wenn Sie mit Access arbeiten, haben Sie vermutlich, zumindest zu Beginn, reichlich Gebrauch von den zahlreichen eingebauten Add-Ins von Access gemacht.

Da gibt es beispielsweise die Abfrage-Assistenten, die erscheinen, wenn Sie den Ribbon-Befehl Erstellen|Abfragen|Abfrage-Assistent bedienen. Es erscheint dann das Formular aus Bild 1, welches die verfügbaren Assistenten anzeigt.

Übersicht der Abfrageassistenten

Bild 1: Übersicht der Abfrageassistenten

Diese dienen beispielsweise zum Erstellen von Auswahlabfragen, Kreuztabellenabfragen, Abfragen zur Duplikatsuche oder zur Inkonsistenzsuche.

Oder Sie wählen den Ribbon-Eintrag Erstellen|Formulare|Formular-Assistent aus, der den Dialog aus Bild 2 öffnet. Diese bietet keine Auswahl verschiedener Assistenten an, sondern öffnet gleich den Formular-Assistent, mit dem Sie beispielsweise die Datenherkunft auswählen und weitere Schritte durchführen.

Der Formular-Assistent von Access

Bild 2: Der Formular-Assistent von Access

Wenn Sie einmal ein Formular oder einen Bericht in der Entwurfsansicht geöffnet haben, ist die erste Aufgabe meist das Erstellen von Steuerelementen. Auch hierbei erhalten Sie Unterstützung von verschiedenen Assistenten. Diese müssen Sie allerdings erst aktivieren, indem Sie im Ribbon die Liste unter den Steuerelement aufklappen und, sofern noch nicht geschehen, den Eintrag Steuerelement-Assistenten verwenden aktivieren (siehe Bild 3).

Aktivieren des Steuerelement-Assistenten

Bild 3: Aktivieren des Steuerelement-Assistenten

Wenn Sie danach beispielsweise die Schaltfläche im Ribbon markieren und dann auf die Stelle im Formularentwurf klicken, an der Sie diese platzieren wollen, erscheint der Befehlsschaltflächen-Assistent aus Bild 4, der Sie beim Anlegen der gewünschten Schaltfläche unterstützt.

Unterstützung durch den Befehlsschaltflächen-Assistenten

Bild 4: Unterstützung durch den Befehlsschaltflächen-Assistenten

Solche Assistenten gibt es auch noch für viele weitere Steuerelemente.

Darüber hinaus gibt es noch Eigenschafts-Assistenten, die erscheinen, wenn Sie auf eine Eigenschaft klicken und dann auf die Schaltfläche mit den drei Punkten klicken, sofern diese verfügbar ist.

Für die Steuerelement- und Eigenschaftsassistenten gilt, dass immer, wenn es mehr als einen Assistenten für das Steuer­element oder die Eigenschaft gibt, eine Auswahlliste der verfügbaren Assistenten erscheint oder, wenn es nur einen Assistenten gibt, dieser direkt gestartet wird.

Schließlich gibt es noch die allgemeineren Add-Ins, die früher allesamt in einem Add-Ins-Menüpunkt zu finden waren, aber seit der Einführung des Ribbons an anderen Stellen im Ribbon untergebracht wurden. Es gibt allerdings immer noch einen Add-In-Menüpunkt, den Sie im Ribbon unter Datenbanktools|Add-Ins finden. Meine Access-Installation beherbergt an dieser Stelle einige Add-Ins, so zum Beispiel den Ribbon-Admin und einige weitere Assistenten, die mir das Leben bei Entwickeln von Access-Datenbanken erleichtern (siehe Bild 5). In diesem Menü finden Sie in der Basisinstallation zumindest den Eintrag Add-In-Manager, mit dem Sie die installierten Add-Ins verwalten können.

Das Add-In-Menü mit einigen benutzerdefinierten Einträgen

Bild 5: Das Add-In-Menü mit einigen benutzerdefinierten Einträgen

Eigene Add-Ins hinzufügen

Nun fragen Sie sich, wo Access doch schon eine Menge eingebauter Assistenten anbietet, wo Sie noch eigene Assistenten hinzufügen sollen. Der erste Ansatzpunkt dürfte das Add-In-Menü sein, wo Sie global verfügbare Add-Ins unterbringen können. Ein Blick in die Add-In-Liste meiner Installation liefert ein paar Anregungen: Der Access-Linker beispielsweise unterstützt Sie, eine neue Verknüpfung zur aktuellen Access-Datenbank zu erstellen.

Der Add-In-Creator hilft, Add-Ins zu erstellen – also bei den Schritten, die Sie in diesem Artikel zunächst manuell durchführen. Sehr oft nutze ich den Beispieldaten-Assistent, der die Auswahl einer Tabelle und das Füllen der Spalten dieser Tabelle nach verschiedenen Vorlagen erledigt. Auch den Formular-Importer nutze ich sehr oft: Mit diesem speichere ich oft verwendete Formular wie etwa ein Spash-Screen für Beispieldatenbanken und füge es dann per Mausklick zu einer Datenbank hinzu – natürlich inklusive Füllen von vordefinierten Platzhaltern.

Nach der Lektüre des vorliegenden Artikels haben Sie die Grundlagen, um eigene Add-Ins zu erstellen. Dabei kann es sich allerdings auch um Add-Ins der anderen Typen handeln, also Abfrage-, Formular- oder Berichts- und Steuerelement-Assistenten.

Erstellen einer leeren Add-In-Datenbank

Der erste Schritt ist der einfachste: Sie müssen einfach eine herkömmliche Datenbank erstellen, in diesem Beispiel namens BeispielAddIn.accdb, und diese schließen und die Dateiendung in .accda ändern. Alle übrigen Änderungen, die eine Add-In-Datenbank von einer herkömmlichen Datenbank unterscheiden, müssen Sie manuell durchführen.

Registrierung von Add-Ins

Woher weiß Access überhaupt, ob es an irgendeiner Stelle eine Ihrer Datenbanken als Add-In oder Assistent anbieten soll? Dazu gibt es spezielle Registry-Bereiche, die Access beim Starten prüft. Die dort angegebenen Datenbanken werden dann erfasst und an der entsprechenden Stelle, also etwa im Add-In-Menü, angezeigt.

Wenn Sie sich diese Bereiche einmal ansehen wollen, öffnen Sie einfach die Registry, indem Sie im Suchen-Feld von Windows den Wert RegEdit eingeben und die Eingabetaste betätigen. Es sollte nun ein neues Fenster mit dem Titel Registrierungs-Editor erscheinen. Hier wollen wir uns zunächst den Bereich für die Menü-Add-Ins ansehen, den Sie unter dem Schlüssel HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office␀.0\Access\Menu Add-Ins finden. Hier sind in meiner Installation die gleichen Einträge vorhanden, die Sie auch weiter oben in der Liste im Ribbon finden konnten (siehe Bild 6).

Die Registry mit den Einträgen für die Menü-Add-Ins

Bild 6: Die Registry mit den Einträgen für die Menü-Add-Ins

Wenn Sie noch ein wenig weitersuchen, finden Sie unter dem Eintrag HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Office␀.0\Access\Wizards noch die ganze eingebauten Assistenten von Office (siehe Bild 7). Wenn Sie selbst Assistenten hinzufügen, werden diese in der Registry allerdings unter dem Schlüssel HKEY_CURRENT_USER untergebracht.

Einträge für die eingebauten Assistenten für Tabellen, Abfragen, Formulare, Berichte, Eigenschaften und Steuerelemente

Bild 7: Einträge für die eingebauten Assistenten für Tabellen, Abfragen, Formulare, Berichte, Eigenschaften und Steuerelemente

Basiselemente eines benutzerdefinierten Add-Ins

Die grundlegenden Elemente von benutzerdefinierten Add-Ins sind die folgenden:

  • Eine Tabelle, welche die Einstellungen enthält, die für das Add-In in die Registry geschrieben werden sollen.
  • Eine VBA-Funktion, die gestartet werden soll wenn der Benutzer das Add-In aufruft.
  • Weitere Elemente wie etwa Formulare zur Abfrage der für die Durchführung des Assistenten notwendigen Informationen.

Tabelle mit Registry-Informationen anlegen

Die Tabelle mit den Registry-Informationen heißt USysRegInfo und muss von Ihnen selbst in Handarbeit angelegt werden. Die Tabelle erhält die vier in Bild 8 abgebildeten Felder. Wenn Sie die Tabelle unter dem Namen USysRegInfo speichern, erscheint diese möglicherweise nicht im Navigationsbereich.

Diese Tabelle nimmt die Einstellungen für die Registry auf.

Bild 8: Diese Tabelle nimmt die Einstellungen für die Registry auf.

Dies liegt daran, dass Access Objekte, die wie die Systemtabellen mit den Buchstaben MSys beginnen oder die mit USys beginnen ausblendet. Um diese Tabellen im Navigationsbereich einzublenden, müssen Sie einfach nur mit der rechten Maustaste auf die Titelzeile des Navigationsbereichs klicken und aus dem Kontextmenü den Eintrag Navigationsoptionen... auswählen.

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!