Avatar billede ingolf Nybegynder
21. december 2001 - 15:49 Der er 9 kommentarer og
1 løsning

Hvordan kommer man \"forbi\" en valideringsregel

I forbindelse med indtastning i datofelter har jeg ønske om at bruge valideringsregler/valideringsmeddelelse for at sikre mig mod for store indtastningsfejl.
Men jeg vil gerne bruge valideringsreglerne i nogle tilfælde sådan, at jeg kan \"komme forbi\" valideringsreglen - altså omgå valideringsreglen.
21. december 2001 - 16:01 #1
Da man altid bør lade brugeren indtaste data via formulare, kan du undlade at have valideringsregler på tabelniveau og istedet have det direkte på hver felt på formularen. Derved har du mulighed for at styre at nogle formularer bruger valideringsregler, andre ikke.
Avatar billede ingolf Nybegynder
21. december 2001 - 16:10 #2
thomasjepsen
Jeg kører kun med valideringsreglen på enkelte felter i fomularen og ikke i tabelen. Men fortæl mig hvordan jeg \"kommer forbi\" en regel. Jeg bruger engang imellem at sætte reglerne lidt stram op, og kan leve med at bryde en regel på visse steder.
21. december 2001 - 16:25 #3
Du kan benytte følgende kode til at ændre valideringsreglen:

Me!Felt.ValidationRule = \">1000\"


eller fjerne den igen:

Me!Felt.ValidationRule = \"\"
Avatar billede ingolf Nybegynder
21. december 2001 - 16:31 #4
Thomasjepsen
Jeg tror ikke du helt forstår mig. Reglen skal blive stående og ikke fjernes på nogen måde. Reglen skal acceptere at jeg kører videre, selv om jeg taster noget \"forkert\" ind iflg. reglen.
Avatar billede ingolf Nybegynder
21. december 2001 - 16:42 #5
thomasjepsen
Jeg vil simpelthen bare have valideringsmeddelelsen frem, og så vurdere fra gang til gang om det jeg \"overtræder\" ifl. valideringsreglen kan accepteres af mig.
Avatar billede terry Ekspert
21. december 2001 - 17:00 #6
ingolf you will have to make your own:

In the fields Before update event you can do it like this.

Private Sub DateField_BeforeUpdate(Cancel As Integer)
    If Me.DateField > Date Then
        If MsgBox(\"Do you want to accept this date?\", vbYesNo) = vbNo Then
            Cancel = True
        End If
    End If
   
End Sub
Avatar billede terry Ekspert
21. december 2001 - 17:02 #7
In th eabove example I have a field named DateField. I check to see if the date entered was > than the days date, if it is I ask if they want to accept it or not!
Avatar billede mugs Novice
21. december 2001 - 17:49 #8
Terry > Jeg forstår ikke hvorfor du lægger koden i Beforeupdate, der ved DateField vel ikke endnu, hvad der indtastes. Jeg vil mene, det er mere logisk at lægge koden i Afterupdate. 
21. december 2001 - 21:44 #9
Mugs-> Det er rigtigt at lægge det på BeforeUpdate. På det tidspunkt ved du hvad brugeren har tastet, men værdien er endnu ikke accepteret.
Derved har du muligheden for at annullere (cancel=true).
Avatar billede mugs Novice
21. december 2001 - 21:56 #10
Tak - Jeg har så uendelig meget at lære endnu. Men det er vel det, der gør det spændende.   
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