In einer Access-Datei, also einer Datei mit der Endung .mdb oder .accdb (oder anderen, ähnlichen Endungen für Spezialfälle), finden wir genau ein VBA-Projekt, das zu dieser Datei gehört (es kann noch weitere eingebundene Projekte geben, aber das ist ein fortgeschrittenes Thema). Dieses Projekt enthält Module und Verweise auf einzubindende Bibliotheken. Die Module teilen sich wieder auf in Standardmodule und Klassenmodule. Die Klassenmodule teilen sich auf in alleinstehende Klassenmodule und Klassenmodule, die zu einem Formular oder Bericht gehören. Diese Begriffe schauen wir uns im vorliegenden Artikel an und zeigen, wie wir diese optimal im VBA-Editor verwalten können.
VBA-Projekte
Wenn wir den VBA-Editor wie im Artikel VBA [basics]: Aller Anfang ist leicht (www.access-basics.de/677) beschrieben erstmalig öffnen und noch keine Module angelegt haben, finden wir die Anzeige des VBA-Projekts, das zu der aktuell geöffneten Datenbank gehört, im Bereich Projekt – Database vor (siehe Bild 1).
Bild 1: Ein neues, leeres VBA-Projekt
Standardmodule, alleinstehende Klassenmodule und Klassenmodule von Formularen und Berichten zeigt dieser Bereich dann unterhalb des VBA-Projekts an.
Mehr als ein VBA-Projekt
Es kann auch passieren, dass der Projekt-Explorer mehr als ein VBA-Projekt anzeigt. Das ist beispielsweise der Fall, wenn wir in Access ein Access-Add-In geöffnet haben. Dann zeigt der Projekt-Explorer auch das VBA-Projekt des Add-Ins an. Wir können auch eine Access-Datenbank als VBA-Bibliothek zum VBA-Projekt der aktuellen Datenbank hinzufügen. Dann können wir die in dieser Datenbank angelegten VBA-Elemente in der aktuellen Datenbank nutzen.
Das an dieser Stelle jedoch nur als Hinweis für den Fall, dass Du einmal ein Access-Add-In nutzen und Dich dann wunderst, woher das zusätzliche VBA-Projekt im Projekt-Explorer stammt.
Name des VBA-Projekts ändern
Das VBA-Projekt zu einer neuen Access-Datenbank erhält standardmäßig die Bezeichnung Database. Diesen bekommen wir im Projekt-Explorer und im Eigenschaften-Bereich an jeder denkbaren Stelle präsentiert (siehe Bild 2).
Bild 2: Der Projektname ist sehr präsent im Projekt- und Eigenschaften-Bereich
Den Projektnamen sollten wir direkt beim ersten Öffnen des VBA-Editors für diese Datenbank ändern. Der Grund: Da das VBA-Projekt jeder Datenbank diesen Namen standardmäßig erhält, kann passieren, dass wir eine andere Datenbank mit dem gleichen VBA-Projektnamen als Access-Add-In oder Bibliotheksdatenbank einbinden. Dann kommt es wegen mehrerer VBA-Projekte mit dem gleichen Namen zu Konflikten.
Das Umbenennen ist einfach: Wenn der Eigenschaften-Bereich noch nicht eingeblendet ist, machen wir diesen mit der Taste F4 sichtbar. Dann markieren wir im Projekt-Explorer den Eintrag für das VBA-Projekt und ändern den Wert der Eigenschaft (Name) im Eigenschaften-Bereich.
Wir könnten den Namen der Datenbankdatei mit dem Präfix prj (für Projekt) verwenden, also bei einer Datenbankdatei namens Beispiel.accdb beispielsweise prjBeispiel.
Standardmodule und alleinstehende Klassenmodule
In der nächsten Ebene unter dem VBA-Projekt finden wir die Module. Davon gibt es drei Arten:
- Standardmodule
- Alleinstehende Klassenmodule
- Klassenmodule von Formularen oder Berichten
Standardmodule
Standardmodule enthalten Prozeduren, Funktionen, Variablen und andere VBA-Elemente, die bei öffentlicher Deklaration von überall innerhalb der Datenbank und des VBA-Projekts aus verwendet werden können. Beispielsweise können wir eine öffentlich deklarierte Funktion in einem Standardmodul von Routinen in anderen Modulen aus aufrufen. Oder wir deklarieren öffentliche Variablen, deren Werte von überall gesetzt und gelesen werden können.
Außerdem gibt es Klassenmodule, die sich wiederum in zwei Gruppen aufteilen:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo