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.3.9 Funktionale Fehlerbehandlung

13.3.10 Benutzerdefinierte Fehler

Mit der bereits weiter oben kurz vorgestellten Raise-Methode des Err-Objekts können Sie benutzerdefinierte Fehler erzeugen. Benutzerdefinierte Fehler erzeugen? Reichen die von Access erzeugten Fehler nicht? Vermutlich schon. Die Raise-Methode bietet vielmehr die Möglichkeit, Eingabefehler oder dergleichen in einem Zuge mit den sonstigen Fehlern zu behandeln und diesbezüglich eine einheitliche Form zu finden. Die Funktion aus Listing 13.3 bietet ein gutes Beispiel.

Mit den Erweiterungen aus folgendem Listing prüft die Funktion, ob eine leere Zeichenkette als Firmenname übergeben wurde. Ist das der Fall, löst sie einen Fehler mit der Nummer vbObjectError + 1 aus, wobei vbObjectError eine in VBA eingebaute Konstante ist, die eine Kollision mit den eingebauten Fehlernummern verhindern soll.

Beim Auftreten dieses Fehlers springt die Routine wie bei einem herkömmlichen Fehler in die Fehlerbehandlungsroutine und gibt eine entsprechende Meldung aus.

Public Function FirmaAnfuegen(strFirma As String)
    On Error GoTo FirmaAnfuegen_Err
    Dim db As DAO.Database
    If Len(strFirma) = 0 Then
        Err.Raise vbObjectError + 1
    End If
    Set db = CurrentDb
    db.Execute "INSERT INTO tblFirmen(Firma) VALUES('" & strFirma _
        & "')", dbFailOnError
    Set db = Nothing
'Fehlerbehandlung
FirmaAnfuegen_Exit:
    'Restarbeiten
    Exit Function
FirmaAnfuegen_Err:
    Select Case Err.Number
        Case 3022

            MsgBox "Die Firma ist bereits vorhanden. " _
                & "Bitte geben Sie einen anderen Firmennamen ein."
        Case vbObjectError + 1
            MsgBox "Bitte geben Sie einen Firmennamen an."
    End Select
    GoTo FirmaAnfuegen_Exit
End Function

Listing 13.5: Auslösen eines benutzerdefinierten Fehlers

Sie können der Raise-Methode noch weitere Parameter wie Source (entspricht dem aktuellen VBA-Projekt) oder vor allem Description übergeben, in der Sie den anzuzeigenden Fehlertext unterbringen.

Nächster Abschnitt:

13.3.11 Fehler bei API-Aufrufen

© 2006-2008 André Minhorst Alle Rechte vorbehalten.