Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

13.1 Fehlerarten

13.1.1 Syntaxfehler

Syntaxfehler sind vermutlich am leichtesten zu finden, weil die Entwicklungsumgebung sich selbst darum kümmert. Dabei handelt es sich um unvollständige Code-Konstrukte, fehlende beziehungsweise überzählige Klammern oder Anführungszeichen oder die Verwendung von Schlüsselwörtern an Stellen, an denen sie nicht erlaubt sind.

Wenn Sie beispielsweise eine If Then-Verzweigung einfügen und vor dem Sprung in die nächste Zeile zwar das Schlüsselwort If und die Bedingung, aber nicht das Schlüsselwort Then eingegeben haben, teilt Access Ihnen dies unmissverständlich mit (siehe Abbildung 13.1).

Abbildung 13.1: Syntaxfehler werden an Ort und Stelle geahndet

Andere Syntaxfehler deckt die Entwicklungsumgebung nicht umgehend auf. Meist handelt es sich dabei um fehlende, falsche oder überflüssige Zeilen. Bleiben Sie bei obigem Beispiel: Wenn Sie die erste Zeile der If Then-Anweisung vervollständigen, ist Access zunächst zufrieden, auch, wenn Sie dann an einer anderen Stelle weiterprogrammieren, ohne die abschließende End If-Anweisung hinzuzufügen und diese dann vergessen.

Darum kümmert sich Access aber später, und zwar spätestens beim Aufrufen der Prozedur. Die Meldung aus Abbildung 13.2 zeigt exakt an, vor welcher Zeile sie spätestens die fehlende End If-Anweisung vermisst.

Abbildung 13.2: Unvollständige Code-Konstrukte findet Access erst beim Kompilieren oder Ausführen

Das gleiche Ergebnis erhalten Sie, wenn Sie das VBA-Projekt mit dem Menübefehl Debuggen/Kompilieren von kompilieren. Das regelmäßige Kompilieren des VBA-Projekts während der Entwicklung sollten Sie sich zur Angewohnheit machen (etwa jeweils nach Erstellung einer Prozedur). Sie kommen so Fehlern schneller auf die Spur, als wenn der Kompiler sich erst beim Testdurchlauf der Anwendung meldet.

Das Ausführen einer Routine erreichen Sie übrigens am schnellsten durch die Betätigung der Taste F5, während sich die Einfügemarke innerhalb der zu startenden Routine befindet. Das klappt allerdings auch nur in Routinen ohne Übergabeparameter, und das auch nur in Standardmodulen.

Syntaxprüfung und weitere Optionen

Die Syntaxprüfung während der Eingabe ist eine nützliche Funktion, die Sie auf Fehler aufmerksam macht, während Sie gedanklich noch in der betroffenen Routine stecken. Würden solche Fehler erst nach dem Schreiben einiger Zeilen Code oder gar ganzer Routinen beim nächsten Debuggen oder Test bemerkt, müssten Sie sich zunächst in die jeweiligen Codezeilen hineindenken.

Manch einer wird durch diese Funktion aber in seinem Tatendrang gestört. Die Hinweise auf Syntaxfehler können natürlich auch einmal nervig sein - etwa wenn Sie in einer If Then-Anweisung eine Variable verwenden möchten, deren Namen Sie gerade nicht im Kopf haben. Wenn Sie dann schnell nach oben blättern, um den Variablennamen zu ermitteln, macht Ihnen die Syntaxprüfung einen Strich durch die Rechnung.

Deshalb wird es manchen freuen, dass man diese »Live«-Syntaxprüfung abschalten kann, und zwar im Optionen-Dialog der VBA-Entwicklungsumgebung (Menüeintrag Extras/Optionen, Option Automatische Syntaxüberprüfung). Dadurch bleiben allerdings nur die Fehlermeldungen aus, fehlerhafte Zeilen sind aber weiterhin in roter Schrift markiert - Sie verpassen also nichts.

Variablendeklaration erzwingen

Ein weiterer Garant für nicht bemerkte Fehler ist die fehlende Deklaration von Variablen. Im einfachsten Fall weist man einer nicht explizit deklarierten Variablen, die eigentlich Zahlen enthalten sollte, einen Text zu und eckt damit irgendwo an. Damit das nicht passiert, sollten Sie tunlichst alle verwendeten Variablen deklarieren. Da selbst erfahrene Programmierer dies einmal vergessen, können Sie mit der folgenden Zeile im Modulkopf nachhelfen:

Option Explicit

Access meldet sich anschließend bei jeder Verwendung einer nicht deklarierten Variablen. Damit Sie auch das Setzen dieser Zeile nicht mal vergessen, können Sie im Dialog aus Abbildung 13.3 die Option Variablendeklaration erforderlich aktivieren. Access fügt die Option Explicit-Anweisung dann automatisch in jedes neue Modul ein.

Abbildung 13.3: Optionen für die VBA-Entwicklungsumgebung

Nächster Abschnitt:

13.1.2 Laufzeitfehler

© 2006-2008 André Minhorst Alle Rechte vorbehalten.