31. oktober 2003 - 19:32Der er
11 kommentarer og 2 løsninger
Run time error
Hej Eksperten
Kan man undgå Run time error i kørsel under formular hvis der udføres en ulovlig handling?
Altså hvis jeg prøver at slette en post, hvor vba ikke tillader det, kan den så ikke bare annullere handlingen uden at prompte med en advarsel. Hvor brugeren har mulighed for "END or DEBUG" ????
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Kan du ikke blot lave en Errorhandler efter at have defineret Errornumber:
On Error GoTo Errorhandler Noget kodeværk Errorhandler: If Err.Number = 1234 Then MsgBox "Du har foretaget en ulovlig handling. Procedüren forlades." Exit Sub
Det er for at slippe for en hel del kodning. Der er mange steder hvor denne fejl kan forekomme. Kan man ikke bare afkrydse denne form for tjek. Altså fjerne Debugén helt ??
Det kan laves efter denne skabelon, hvor man lægger koden ind under formularens VedFejl hændelse. Man kan sagtens lægge flere fejlkoder ind:
Private Sub Form_Error(DataErr As Integer)
' If koden DataErr 2279 er = brud på inputmaske.
If DataErr = 2279 Then ' Undertrykker Access normale fejl-meddelelse. Response = acDataErrContinue Exit Sub Else 'Den handling, som jeg ellers ønsker Exit Sub End If
Meningen med fejlmeddelelsen er at fortælle dig, at der en fejl i VBA-koden, som skal rettes. Det kan f.eks.være en variabel, som er stavet forkert eller noget helt andet. Du er derfor nødt til at finde fejlen og rette den. Ellers kan du ikke regne med, at programmet fungerer, som du ønsker det.
Det er jeg godt klar over at det er fordi at der er en VBA fejl. MEN hvis nu bare vi ser bort fra denne fejl, idet fejlen KUN opstår når der tastes forkert. Var det så ikke muligt at alle error-fejl ikke prompter op, og bare forsætter uden nogen form for popupboks..??
Uanset hvor du placerer den, er du nødt til at lave en kode der kalder errorhandler. Placerer du den i en formular skal du kode i hver enkelt formular, plaverer du den i et modul skal du alligevel kalde modulet.
Jeg ved ikke, om man kan placere koden et sted hvor du kan undgå at kalde den på en eller anden måde.
Så må teste det der skrives i feltet før det gemmes (AfterUpdate).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.