Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: benjamin.grimm am August 01, 2013, 16:52:34

Titel: Laufzeitfehler
Beitrag von: benjamin.grimm am August 01, 2013, 16:52:34
Hallo

gibt es in VBA ne Möglichkeit grundsätzlich Laufzeitfehler zu umgehen, egal welcher Art?


Titel: Re: Laufzeitfehler
Beitrag von: DF6GL am August 01, 2013, 17:32:41
Hallo,  


natürlich, wenn es nicht interessiert, sich das Genick gebrochen zu haben...

On Error Resume Next



soll heißen, es ist totale Ignoranz der Unzulänglichkeiten und Fehlfunktionen des (eigenen)  Codes, bzw. der "Logik"
Titel: Re: Laufzeitfehler
Beitrag von: benjamin.grimm am August 02, 2013, 07:58:18
ok, aber wo schreib ich das rein.

ich möchte einfach laufzeitfehler umgehen weil das Programm auf einer runtime Version dann laufen wird.

Leider stürzt es bei einem Laufzeitfehler in der runtime Version immer komplett ab.

Kann ich dann auch eine msgbox aufklappen, falls es zu einem Laufzeitfehler kommt.

irgendwie

msgbox "bitte überprüfen sie ihre eingaben"
Titel: Re: Laufzeitfehler
Beitrag von: Wurliwurm am August 02, 2013, 09:13:31
Du kannst in Deinen Routinen standardmäßig einbauen

Public Sub MeinSub()
On Error goto Fehlerbehandlung

....

Exit Sub
Fehlerbehandlung:
Msgbox Err.Description, vbCritical, "Fehler im Sub MeinSub"
End Sub
Titel: Re: Laufzeitfehler
Beitrag von: MzKlMu am August 02, 2013, 09:17:23
Hallo,
in einer Runtime "On Error Resume Next" einzusetzen halte ich für sträflichen Leichtsinn. Eine Runtime darf keine Laufzeitfehler mehr haben.
Daher sollte für eine Runtime in absolut jeder Prozedur und Funktion eine Fehlerbehandlung eingebaut werden.
Die Fehlerbehandlung verhindern den sang und klanglosen Ausstieg des Programms. Es werden Fehlermeldungen ausgegeben die einen Hinweis auf die Ursache sein können. Außerdem kann eine Fehlerbehandlung auch eigene Fehlermeldungen ausgeben.

Hier mal eine Beispiel für eine Fehlerbehandlung, für einen Button der zum nächsten Datensatz geht.
Private Sub btnNaechsterDS_Click()
On Error GoTo Err_btnNaechsterDS_Click


    DoCmd.GoToRecord , , acNext

Exit_btnNaechsterDS_Click:
    Exit Sub

Err_btnNaechsterDS_Click:
    MsgBox Err.Description
    'Hier können gezielt eigene Meldungen untergebracht werden
    Resume Exit_btnNaechsterDS_Click
   
End Sub
Titel: Re: Laufzeitfehler
Beitrag von: benjamin.grimm am August 02, 2013, 11:22:59
Super

Dankeschön.


Klappt wunderbar