Das Codefenster ist das Herzstück des VBA-Editors. Hier schreibst, bearbeitest und liest Du den gesamten Code Deiner Module, Klassenmodule oder Formulare. Es ist der zentrale Ort, an dem Deine Logik entsteht und Deine Projekte zum Leben erweckt werden. Hier kannst Du den enthaltenen Code debuggen, um zu untersuchen, ob alles wie gewünscht funkioniert. Und hier ist der Ort, an dem Du dafür sorgst, dass Dein Code gut lesbar und strukturiert ist. Du kannst den enthaltenen Code nutzen, um ihn automatisiert bei Benutzeraktionen wie dem Anklicken eines Buttons oder nach Eingaben in Textfelder aufzurufen oder Du programmierst einfach Prozeduren, die bestimmte Aufgaben für Dich erledigen.
Öffnen des Codefensters
Wenn Du ein jüngfräuliches VBA-Projekt hast, was zum Beispiel direkt nach dem Anlegen einer neuen Access-Datenbank der Fall ist, gibt es noch keine Module im VBA-Editor – folglich können wir dann auch noch kein Codefenster anzeigen.
Sprich: Um überhaupt ein Codefenster anzuzeigen, musst Du zuerst einmal ein Modul anlegen. Das erledigst Du am einfachsten mit dem Menübefehl Einfügen|Modul oder, wenn Du fortgeschrittener bist und bereits mit Klassenmodulen arbeitest, mit Einfügen|Klassenmodul.
Eine weitere Alternative, um ein Modul zu erstellen, ist das Anlegen einer Ereignisprozedur für ein Formular oder einen Bericht oder eines der enthaltenen Steuerelemente.
Dazu öffnest Du beispielsweise ein Formular in der Entwurfsansicht, fügst eine Schaltfläche hinzu, wählst für die Ereigniseigenschaft Beim Klicken den Wert [Ereignisprozedur] aus und klickst dann auf die Schaltfläche mit den drei Punkten (siehe Bild 1).
Bild 1: Anlegen einer Ereignisprozedur
Danach erscheint automatisch der VBA-Editor und zeigt direkt das Klassenmodul zu diesem Formular an, in dem Du alle Ereignisprozeduren und weitere Routinen einfügst, die inhaltlich zu diesem Formular gehören (siehe Bild 2). Du siehst hier auch direkt, dass im Bereich Projekt-Explorer ein neuer Eintrag für das Klassenmodul namens Form_frmBeispiel hinzugefügt wurde.
Bild 2: Die automatisch angelegte Ereignisprozedur
Die Ereignisse und Prozeduren in diesen Klassenmodulen kann man allerdings nie direkt ausführen, sondern man muss tatsächlich die zum Ereignis führende Aktion durchführen – in diesem Fall ein Klick auf die entsprechende Schaltfläche.
Wenn Du Code schreiben möchtest, den Du direkt ausführen können willst, benötigst Du ein Standardmodul, das Du mit Einfügen|Modul hinzufügst. Im Gegensatz zum Klassenmodul eines Formulars oder Berichts, die fest vorgegebene Bezeichnungen haben, wird das neue Standardmodul einfach Modul1 genannt – weitere Module erhalten die Namen Modul2, Modul3 und so weiter. Da dies wenig aussagekräftig ist, benennst Du neue Module am Besten direkt um. Unser Modul mit Beispielen zu diesem Artikel nennen wir etwa mdlBeispiele. Wir verwenden für Standardmodule in der Regel das Präfix mdl (für Module) und cls (für Klassenmodule).
Die Anweisung Option Compare Database
In jedem Modul findest Du ganz oben die folgende Anweisung:
Option Compare Database
Diese gibt an, wie standardmäßig Vergleichsoperationen durchgeführt werden. Insgesamt gibt es drei verschiedene Optionen:
- Option Compare Database: Vergleicht Strings nach den Sortierregeln der aktuellen Access-Datenbank (also nach den Ländereinstellungen der Datenbankdatei). Groß-/Kleinschreibung wird nicht beachtet.
- Option Compare Text: Vergleicht Strings textbasiert, also ohne Groß-/Kleinschreibungsunterschiede, aber nach der Standardsortierung des Systems (Windows-Locale)
- Option Compare Binary: Vergleicht Strings byteweise, also nach dem ASCII/ANSI-Wert jedes Zeichens. A ist also ungleich a und in der Reihenfolge steht Z (ASCII-Code 90) vor a (ASCII-Code 97).
Die Anweisung Option Explicit
Die Zeile Option Explicit finden wir nicht standardmäßig in jedem Modul.
Das sollte allerdings der Fall sein, denn mit dieser verhindern wir, dass im Modul Variablen verwendet werden, die nicht deklariert sind. Ist Option Explicit gesetzt, werden nicht deklarierte Variablen bei Ausführen von Code oder auch beim Aufruf von Debuggen|Kompilieren von … wie in Bild 3 angezeigt.
Bild 3: Fehler beim Verwenden einer nicht deklarierten Variablen
Ist diese nicht vorhanden, sind zwei Schritte zu erledigen:
- Hinzufügen dieser Option zu allen Modulen, in denen diese noch nicht vorhanden ist
- Aktivieren der Option Variablendeklaration erforderlich in den Optionen des VBA-Editors (siehe Bild 4). Dies sorgt dafür, dass die Zeile Option Explicit automatisch zu jedem neuen Modul hinzufügt wird. Aus unerfindlichen Gründen ist diese Option in frischen Access-Installationen nicht standardmäßig gesetzt.
Bild 4: Automatisches Hinzufügen der Zeile Option Explicit zu jedem neuen Modul
Die Anweisung Option Base
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
![Access [basics]](https://access-basics.de/wp-content/uploads/2021/02/logo400.png)



