Wenn Sie versuchen, mehr aus Ihren MS Access-Projekte sind , oder Sie sind zu programmieren beginnen in Visual Basic , mit einem Fehler -Handler in Ihre Subs und Funktionen können Ihre Endbenutzer eine viel Kummer . Hier ist ein einfacher Weg zu einem Fehler -Handler , um Ihren Code, der Ihnen erlaubt, mit Fehlern umzugehen, als sie sich und kommen dann , die Reaktion auf den spezifischen Fehler hinzuzufügen. Things You
Visual Basic 6 oder einen offenen Code-Fenster in einer MS Access brauchen 2003 oder früher Modul
anzeigen Weitere Anweisungen
1
Öffnen Sie eine Code-Fenster in entweder VB6 oder eine MS -Access-Modul und ein neues Sub Routine namens TestErrorHandler . An diesem Punkt wird es keinen Code in der Sub , die wie folgt aussehen wird : Public Sub TestErrorHandler () End Sub
2
die folgenden Zeilen in die Sub -Routine hinzufügen , nicht geben Sie diese Public Sub und End Sub Linien wieder . Es ist wichtig, um sicherzustellen, dass Sie einen Doppelpunkt hinzu, nachdem der Zeile " Error_Exit " und " ErrorHandler . " Zusätzlich hat line " ErrorHandler " genau eingegeben werden, wie es in der Linie erklärt wird " On Error GoTo ErrorHandler . " Sie können den Namen Ihres Error-Handler "Jim" , wenn Sie möchten . aber Sie brauchen, um den Namen konsequent: Public Sub TestErrorHandler () On Error GoTo ErrorHandlerError_Exit : Ausfahrt SubErrorHandler : Ende SubThe Zeile " On Error GoTo ErrorHandler " lenkt den sub für eine Error-Handler aussehen sollte , wenn es ein Fehler ist running.The Linie entstehen " Error_Exit " Exits aus den Sub da die Zeile " Exit Sub " wurde unmittelbar unterhalb it.The Zeile hinzugefügt " ErrorHandler : " ist, wo bestimmte Fehler behandelt werden
3
. Nun fügen Sie die folgenden zwei Zeilen Code direkt unter " ErrorHandler ": Select Case Err.NumberEnd SelectWe verwenden eine Select Case-Anweisung , die bestimmte Fehler , die wir wollen , zu beschäftigen könnte handhaben
4
. Benachrichtigt den Benutzer , dass ein Fehler stattgefunden hat und ihnen einige zusätzliche Informationen . Wir werden das in unseren Select Case mit do "Case Else. " Für dieses Beispiel werden wir es einfach halten , indem sie dem Benutzer, dass ein Fehler aufgetreten ist und was der Fehler -Nummer ist , sowie eine kurze Beschreibung . Fügen Sie die folgenden Zeilen Code, um Ihre " ErrorHandler ": Case Else pstrErrorMessage = " Fehler-Nr :" & _ Err.Number & vbCrLf & Err.Description MsgBox pstrErrorMessage , vbExclamation , "Fehler " Resume Error_ExitThe gesamte Sub sollte nun wie folgt aussehen: Public Sub TestErrorHandler () On Error GoTo ErrorHandlerError_Exit : Ausfahrt SubErrorHandler : Dim pstrErrorMessage As String Select Case Err.Number Case Else pstrErrorMessage = " Fehler-Nr :" & _ Err.Number & vbCrLf & Err.Description MsgBox pstrErrorMessage , vbExclamation , "Error" Lebenslauf Error_Exit End Sub SelectEnd
5
der wirkliche Vorteil der mit einem Fehler -Handler in Ort ist, dass man mit den erwarteten Fehler in einer eleganten Art und Weise umzugehen. Zum Beispiel, wenn Sie sich entschließen, eine Sub- Routine , die eine Datei (en) von einem Ordner zum anderen zu bewegen , aber erwarten, dass bei Gelegenheit , dass ein oder mehrere der Dateien nicht vorhanden sind, werden Sie wahrscheinlich eine wiederholte Fehler Nummer schreiben 53, ist die eine Datei nicht gefunden wurde. Sie können eine Zeile in der Select Case-Anweisung , die diesen Fehler beheben wird und dann weiter mit dem Sub Routine hinzuzufügen. Fügen Sie diese beiden Zeilen direkt unter der Zeile " Select Case " : Case 53 Lebenslauf NextBy Umgang mit dem erwarteten File Not Found Fehler auf diese Weise , können Sie die Sub Routine weiterhin ohne Benachrichtigung des Benutzers laufen , was passiert ist . Selbstverständlich, wenn Sie die Benutzer wissen, dass die angegebene Datei nicht vorhanden ist möchten, sollten Sie eine MsgBox in diesem Sinne hinzuzufügen. Die gesamte Sub sieht nun so aus ( der Screenshot mit diesem Schritt verbunden spiegelt , wie der Code sollte in der VB -Programmierumgebung anschauen) : Public Sub TestErrorHandler () On Error GoTo ErrorHandlerError_Exit : Ausfahrt SubErrorHandler : Dim pstrErrorMessage As String Select Case Err.Number Fall 53 Resume Next Case Else pstrErrorMessage = " Fehler-Nr :" & _ Err.Number & vbCrLf & Err.Description MsgBox pstrErrorMessage , vbExclamation , "Fehler " Resume Error_Exit End Sub SelectEnd