Als u probeert om meer te halen uit uw MS Access- projecten , of je begint te programmeren in Visual Basic , het hebben van een fout handler in uw Subs en Functions kunt uw end opslaan gebruiker een hoop verdriet . Hier is een eenvoudige manier om een fout handler toe te voegen aan uw code die u zal toestaan om te gaan met fouten als ze komen en dan op maat van de respons op de specifieke fout . Wat je nodig hebt Visual Basic 6 of een code -venster opent in een MS Access 2003 of eerdere module Toon Meer Aanwijzingen 1 Open een code venster in een van beide VB6 of een MS Access -module en maak een nieuwe Sub routine genaamd TestErrorHandler . Op dit moment is er geen code op de Sub die er uitziet zoals deze zijn : Public Sub TestErrorHandler ( ) End Sub kopen van 2 Voeg de onderstaande regels toe aan het Sub Routine , niet opnieuw te typen de Public Sub en End Sub lijnen weer . Het is belangrijk om ervoor te zorgen dat u een dubbele punt toe te voegen na de regel " Error_Exit " en " ErrorHandler . " Daarnaast lijn " ErrorHandler " moet exact worden getypt zoals het wordt gedeclareerd in de lijn " On Error GoTo ErrorHandler . " U kunt de naam van uw fout handler " Jim " als je wilt . maar je moet de naam consequent te houden: Public Sub TestErrorHandler ( ) On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : End SubThe lijn " On Error GoTo ErrorHandler " regisseert de sub om te zoeken naar een fout handler moet een fout ontstaan bij het running.The lijn " Error_Exit " verlaat je uit de Sub omdat de lijn "Exit Sub ' is toegevoegd onmiddellijk onder Boatshow lijn " ErrorHandler : " is waar specifieke fouten zullen worden behandeld 3 . voeg nu de volgende twee regels code direct onder " ErrorHandler " : Select Case Err.NumberEnd SelectWe gebruik maakt van een Select Case statement naar de specifieke fouten die we zouden willen gaan met behandelen 4 . Informeer de gebruiker dat er een fout heeft plaatsgevonden en geef ze wat extra informatie . We zullen dat doen in onze Select Case met "Case Else . " Voor dit voorbeeld zullen we het simpel houden door kennisgeving aan de gebruiker dat er een fout is opgetreden en wat de fout nummer is , alsook een korte beschrijving . Voeg de volgende regels code aan uw " ErrorHandler " : Case Else pstrErrorMessage = " Fout nummer : " & Err.Number _ & vbCrLf & Err.Description MsgBox pstrErrorMessage , vbExclamation , "Fout " Resume Error_ExitThe hele Sub ziet er nu als volgt uit: Public Sub TestErrorHandler ( ) On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : Dim pstrErrorMessage As String Select Case Err.Number Case Else pstrErrorMessage = " Fout nummer : " & Err.Number _ & vbCrLf & Err.Description MsgBox pstrErrorMessage , vbExclamation , " Fout " Resume Error_Exit End SelectEnd Sub 5 Het echte voordeel van het hebben van een fout handler in de plaats is dat je kunt omgaan met verwachte fouten in een elegante manier . Bijvoorbeeld , als u besluit om een Sub Routine dat een bestand ( en) naar een andere verhuizen van de ene map , maar verwachten dat bij gelegenheid die op of meer van de bestanden zal niet bestaan , zult u waarschijnlijk krijgt een herhaalde fout nummer schrijven 53 , dat is een bestand niet gevonden . U kunt een regel toevoegen aan de Select Case statement dat deze fout zal oplossen en dan verder met de Sub Routine . Voeg deze twee lijnen direct onder de lijn " Select Case ' : Case 53 Resume NextBy omgaan met de verwachte bestand niet gevonden fout op deze manier , kunt u de Sub Routine blijven draaien zonder kennisgeving aan de gebruiker wat er is gebeurd . Uiteraard, als je wilt dat de gebruiker weten dat het opgegeven bestand ontbreekt , moet u een MsgBox toe te voegen aan die zin . De gehele Sub ziet er nu als volgt uit ( de screenshot in verband met deze stap geeft weer hoe de code moet er in het VB programmeeromgeving ) : Public Sub TestErrorHandler ( ) On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : Dim pstrErrorMessage As String Select Case Err.Number Case 53 Resume Next Case Else pstrErrorMessage = " Fout nummer : " & Err.Number _ & vbCrLf & Err.Description MsgBox pstrErrorMessage , vbExclamation , "Fout " Resume Error_Exit End SelectEnd Sub < br > |