Avatar billede taio Novice
31. oktober 2003 - 19:32 Der 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" ????

På forhånd tak
Avatar billede mugs Novice
31. oktober 2003 - 19:37 #1
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
Avatar billede taio Novice
31. oktober 2003 - 19:39 #2
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 ??
Avatar billede mugs Novice
31. oktober 2003 - 19:41 #3
Det ved jeg simpelthen ikke. Følger interesseret.
Avatar billede mugs Novice
31. oktober 2003 - 19:47 #4
I Tools > Options > General er der en box til ErrorTrapping. Måske kan det lede lidt på vej. Men jeg har ikke prøvet.
Avatar billede hekla Nybegynder
31. oktober 2003 - 21:20 #5
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

End If
Avatar billede hekla Nybegynder
31. oktober 2003 - 22:13 #6
En lille rettelse:

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
    End If

End Sub
Avatar billede fynbohans Nybegynder
31. oktober 2003 - 22:25 #7
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.
Avatar billede taio Novice
01. november 2003 - 08:41 #8
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..??
Avatar billede mugs Novice
01. november 2003 - 08:45 #9
On Error GoTo Errorhandler
Kode
Errorhandler:
Resume Next
Avatar billede taio Novice
01. november 2003 - 08:58 #10
mugs, hvor vil du plasere denne On Error kode henne?

Jeg skal bruge en metode som virker på hele databasen, ellers skal der laves en masse kode i mange formular.
Avatar billede mugs Novice
01. november 2003 - 09:04 #11
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.
Avatar billede taio Novice
01. november 2003 - 09:39 #12
Er der ingen instillinger for denne debug..? et sted hvor man kan fjerne den fra x database??
Avatar billede fynbohans Nybegynder
01. november 2003 - 09:58 #13
Så må teste det der skrives i feltet før det gemmes (AfterUpdate).
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester