Hvis du prøver å få mer ut av dine MS Access -prosjekter , eller du begynner å programmere i Visual Basic, å ha en feil handler i dine Subs og funksjoner kan lagre sluttbrukeren en mye sorg . Her er en enkel måte å legge en feilbehandleren til din kode som vil tillate deg å håndtere feil som de kommer opp og deretter skreddersy respons til den konkrete feilen. Du trenger
Visual Basic 6 eller en åpen kode -vinduet i en MS Access 2003 eller tidligere modul
Vis flere instruksjoner
en
Åpne opp en kode vindu i enten VB6 eller en MS Access -modul og opprette en ny Sub Rutinemessig heter TestErrorHandler . På dette punktet blir det ingen kode i Sub som vil se slik ut : Public Sub TestErrorHandler ( ) End Sub
2
Legg nedenfor linjer til Sub Rutinemessig , ikke skriv det offentlige Sub og End Sub linjer igjen . Det er viktig å sørge for at du legger til et kolon etter linjen " Error_Exit " og " ErrorHandler . " I tillegg har linjen " ErrorHandler " skal skrives inn nøyaktig slik den er deklarert i linjen " On Error GoTo ErrorHandler . " Du kan kalle error handler " Jim" hvis du ønsker . men du trenger for å holde navnet konsekvent : Public Sub TestErrorHandler ( ) On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : End SubThe line " On Error GoTo ErrorHandler " dirigerer sub for å lete etter en feil behandleren bør en feil oppstår når det er running.The linjen " Error_Exit " avslutter deg ut av Sub siden linjen " Exit Sub " har blitt lagt rett under it.The line " ErrorHandler : " er der konkrete feil vil bli håndtert
3
. nå kan du legge til følgende to linjer med kode direkte under " ErrorHandler " : Select sak Err.NumberEnd SelectWe bruker en Select sak uttalelse å håndtere noen spesifikke feil som vi kanskje ønsker å håndtere
4
. varsle brukeren om at en feil har skjedd og gi dem noe mer informasjon. Vi vil gjøre det i vår Select sak ved hjelp av "Case Else . " For dette eksempelet , vil vi holde det enkelt ved å varsle brukeren om at en feil har oppstått, og hva feilen tallet er, samt en kort beskrivelse . Legg til følgende linjer med kode til din " ErrorHandler " : Case Else pstrErrorMessage = " Feil nummer :" & err.number _ & vbCrLf & err.Description MsgBox pstrErrorMessage , vbExclamation , "Feil " Fortsett Error_ExitThe hele Sub skal nå se slik ut : Public Sub TestErrorHandler ( ) On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : Dim pstrErrorMessage As String Select sak err.number sak Else pstrErrorMessage = " Feil nummer :" & err.number _ & vbCrLf & err.Description MsgBox pstrErrorMessage , vbExclamation , "Feil " gjenoppta Error_Exit End SelectEnd Sub
5
Den virkelige fordelen av å ha en feil handler i stedet er at du kan håndtere forventet feil i en elegant måte. For eksempel, hvis du bestemmer deg for å skrive en Sub rutine som vil flytte en fil (er ) fra en mappe til en annen, men regner med at ved enkelte anledninger som på eller flere av filene ikke vil eksistere , vil du sannsynligvis få en gjentatt Feil nummer 53 , som er en fil ikke funnet feil. Du kan legge til en linje til Select sak uttalelse som vil løse denne feilen , og deretter fortsette med Sub rutine . Legg disse to linjene direkte under linjen "Velg veske" : Case 53 Resume nextby håndtere den forventede File Not Found feil på denne måten , kan du ha Sub Rutinemessig fortsette å kjøre uten å varsle brukeren hva som har skjedd . Selvfølgelig, hvis du vil at brukeren skal vite at den angitte filen mangler , bør du legge en MsgBox om dette. Hele Sub ser nå slik ut ( skjermbildet forbundet med dette trinnet gjenspeiler hvordan koden skal se ut i VB programmering miljø) : Public Sub TestErrorHandler ( ) On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : Dim pstrErrorMessage As String Select sak err.number sak 53 Resume Next sak Else pstrErrorMessage = " Feil nummer :" & err.number _ & vbCrLf & err.Description MsgBox pstrErrorMessage , vbExclamation , "Feil " Fortsett Error_Exit End SelectEnd Sub