Hallo,
Das stimmt nur bedingt, was du da schreibst. Es ist korrekt dass du die Zeilensprungmarke Exit_cmdGoToNext_Click sowie den Resume-Befehl dorthin weglassen kannst. Aber nur solgange die Sprungmarke direkt vor Exit Sub steht. Solltest du auf die Idee kommen dazwischen noch weiteren Code einzufügen, wird die Sprungmarke wieder wichtig.
Exit Sub selbst solltest du nicht löschen, da diese Zeile die Sub vorzeitig beendet bevor die Fehlerbehandlung startet. Wenn du Exit Sub löschst wird bei jedem Klick auf deinen Button die MsgBox ausgeführt, die den letzten Fehler zurück gibt, auch wenn es grade jetzt eigentlich gar nicht zu einem Fehler gekommen ist. Ich glaube nicht, dass du das willst. Also lass Exit Sub drin und zwar direkt vor der Sprungmarke Err_cmdGoToNext_Click
Nur wenn du auf die von der MsgBox ausgegebenen Info verzichten kannst, kannst du neben der MsgBox auch Exit Sub sowie sämtliche Sprungmarken rausschmeißen. Dann musst du aber On Error Resume Next verwenden. Damit hast du einen Zweizeiler. Im Fall eines Fehlers passiert dann einfach gar nix. D.h. der Code läuft weiter bis End sub und führt evtl. vorhandene zusätzliche Zeilen aus, nur Do.Cmd wird eben nicht ausgeführt.
Hier der ungetestete Code:
Private Sub cmdGoToNext_Click()
On Error Resume Next
DoCmd.GoToRecord , , acNext
End Sub
Gruß Mr. K.
|