Avatar billede sigyn Seniormester
24. august 2010 - 13:04 Der er 4 kommentarer og
1 løsning

Valideringsregel driller

Jeg har et felt i en formular, hvor der ikke må tastes et allerede eksisterende nummer ind. Nummeret er tekst, og vil typisk være xxx xxx, altså 2x3 cifre med mellemrum

Jeg har lavet to forskellige valideringsregler, en med DCount og en med DLookUp og deligger på formularfeltets before update.
DCount ser således ud

Dim VARa As String

    VARa = Me.txtSkemaNr

If DCount("*", "tblSkemaNr", "SkemaNr=" & VARa) > 0 Then
    MsgBox "Skemanummeret er allerede i brug, vælg et andet."
    Me.Undo
End If

Men jeg får en syntaxfejl. Jeg har lavet nøjagtig den samme i en testDB, der er Skemanummeret bare tal, og der virker det. Jeg går ud fra, at jeg mangler nogle ' eller ", men hvor ? jeg synes jeg er ved at have været alle kombinationer ignennem

Så prøvede jeg med DLookUp

If DLookup("[tblSkemaNr]=", "[Skemanr]=" & "me.txtSkemaNr") Then
    MsgBox "Skemanummeret er allerede i brug, vælg et andet."
    Me.Undo
End If

Men igen syntaxfejl. Denne har jeg ikke prøvet i min testDB

Sluttelig. Kan man lave det således, at folk ikke kan aktivere en knap inden skemanummeret er gyldigt ?
Avatar billede terry Ekspert
24. august 2010 - 13:43 #1
If DCount("*", "tblSkemaNr", "SkemaNr='" & VARa & "'") > 0 Then
Avatar billede terry Ekspert
24. august 2010 - 13:47 #2
"Sluttelig. Kan man lave det således, at folk ikke kan aktivere en knap inden skemanummeret er gyldigt ?


You could do this in a couple of ways.

Disable the button and then in the forms AfterUpdate event enable it again.
You will also need to disable it at some stage, maybe in the On Current for when you move between records and/or On Dirty when you start making changes.
Avatar billede terry Ekspert
24. august 2010 - 13:47 #3
svar
Avatar billede sigyn Seniormester
25. august 2010 - 08:01 #4
Tusind tak, den kombination, havde jeg ikke haft med.

Mht. til knappen, så puttede jeg den ind her, på feltets before opdate, og det virker tilsyneladende.

If DCount("*", "tblSkemaNr", "SkemaNr='" & VARa & "'") > 0 Then
    Me.cmdÅbnSkemaSkabelon.Enabled = False
    MsgBox "Skemanummeret er allerede i brug, vælg et andet."
    Me.Undo
Else
    Me.cmdÅbnSkemaSkabelon.Enabled = True
End If
Avatar billede terry Ekspert
25. august 2010 - 08:44 #5
selv tak
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