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.4.1 Wichtige Fehlerinformationen

13.4.2 Zeilen nummerieren

Wenn Sie sich die Auflistung durchsehen, werden Sie vermutlich an einer Stelle hängen bleiben: bei der Nummer der fehlerhaften Zeile. Wie bekommt man die denn nun heraus? Die Frage ist verständlich: Immerhin sind die Zeiten, in denen man Basic-Programme mit Zeilennummern versah, lange vorbei - und als Sprungmarke kommen die bereits oben erwähnten Zeichenketten zum Zuge. Und nun soll man sich für eine Fehlerdokumentation in die Frühzeit der Programmierung zurückversetzen?

In der Tat liefert VBA keine versteckte Zeilennummer oder eine andere interne Möglichkeit, die Nummer einer fehlerhaften Zeile zu ermitteln. Sie müssen tatsächlich alle Zeichen einer Routine durchnummerieren, wenn Sie wissen wollen, in welcher Zeile der Fehler auftritt - einige Zeilen lassen sich zwar nicht nummerieren, doch dazu später mehr. Die nächste Frage lautet dann: Wie teile ich der Fehlerbehandlung denn nun mit, in welcher Zeile der Fehler auftrat? Dazu gibt es wiederum eine nicht dokumentierte Funktion. Sie heißt Erl und liefert - sofern vorhanden - die Nummer der Zeile, in der der letzte Fehler aufgetreten ist. Zum Nachweis ein kleines Experiment: Fügen Sie der Routine aus Listing 13.2 Zeilennummern hinzu und ergänzen Sie die Fehlermeldung wie folgt:

Public Function DivisionDurchNull()
10     On Error GoTo DivisionDurchNull_Err
20     Dim i As Integer
30     i = 1 / 0
40    'Fehlerbehandlung
50 DivisionDurchNull_Exit:
60     'Restarbeiten
70     Exit Function
80 DivisionDurchNull_Err:
90     MsgBox "Fehlernummer: " & Err.Number _
        & vbCrLf & "Beschreibung: " & Err.Description _
        & vbCrLf & "Zeile: " & Erl
100     GoTo DivisionDurchNull_Exit
End Function

Listing 13.7: Routine mit Zeilennummern und Ausgabe der Zeilennummer im Falle eines Fehlers

Das Ausführen der Routine führt zu der Meldung aus Abbildung 13.16 - die fehlerhafte Zeile wird also wie geplant ausgegeben.

Abbildung 13.16: Fehlermeldung mit Zeilenangabe

Komplettes VBA-Projekt mit Zeilennummern und Fehlerbehandlungen ausstatten

Da prinzipiell überall einmal der Fehlerteufel zuschlagen kann, sollten Sie den kompletten Code mit Zeilennummern und entsprechend erweiterten Fehlerbehandlungen ausstatten. Was? Den ganzen Code? Jede kleine Routine in jedem einzelnen Modul? Und soll ich etwa die Nummerierung immer wieder anpassen, wenn ich mal ein paar Zeilen einfüge? Keine Angst: Dieses Buch verlangt nichts von Ihnen, was nicht den Aufwand lohnte. Und in diesem Fall liefert es auch noch ein Tool mit, das stundenlange Tipparbeit in Sekundenbruchteilen erledigt.

Das besagte Tool heißt accessVBATools und liefert eine neue Symbolleiste mit einigen Befehlen (siehe Abbildung 13.17) - zum Beispiel:

  • Modul nummerieren: Nummeriert alle Zeilen des aktuellen Moduls durch.
  • Modul entnummerieren: Entfernt die Nummerierung des aktuellen Moduls.
  • Fehlerbehandlung hinzufügen: Fügt der Routine, in der sich aktuell die Einfügemarke befindet, eine Fehlerbehandlung hinzu.
  • Fehlerdokumentations-Funktion hinzufügen: Fügt dem VBA-Projekt ein Standardmodul mit einer Funktion zur Dokumentation von Fehlern hinzu.
  • Die Funktionen lassen sich nicht nur über die Symbolleiste, sondern auch über das Kontextmenü des aktuellen Moduls aufrufen (siehe Abbildung 13.18). Natürlich gibt es noch weitere Tools, die Funktionen wie das Nummerieren von Zeilen oder andere mitbringen - mehr dazu auf http://www.access-entwicklerbuch.de. Das hier beschriebene Tool liefert allerdings die nachfolgend dargestellte Fehlerbehandlung und die darauf abgestimmte Fehlerdokumentationsfunktion mit.

    Nächster Abschnitt:

    13.4.3 Einsatz der accessVBATools

    © 2006-2008 André Minhorst Alle Rechte vorbehalten.