Længden af den indtastede tekststreng kan du teste ved at indsætte følgende kode i feltets BeforeUpdate event:
If Len(Me.felt1) <> 6 Then MsgBox "Den indtastede tekst skal være på 6 tegn" Me.Undo End If
Du skal naturligvis udskifte feltnavnet (felt1) med dit eget. Vedr. store bogstaver i valideringsreglen er jeg ikke rigtig klar over, men det har tidligere været rejst. Prøv evt. at søge.
Jeg bruger noget der ligner ovenstående fra mugs, men på LostFocus. Så kontrolleres længden, inden der foretages opdatering. Kun hvis længden er 6, skrives til tabellen, og så er valideringsreglen altid opfyldt, hvorfor meddelelsen er irrelevant og aldrig vises . If Len(id) <> 6 0 Then MsgBox "Et ID skal være mellem 6 langt. Prøv igen", vbInformation me!id = "" End If
Ok tror at mit problem måske skyldes at jeg allerede har noget error-handling på formularen frmInstruktoer. For at håndtere P-nøgle brud har jeg oprettet flg.
Private Sub Form_Error(DataErr As Integer, Response As Integer)
' If koden DataErr 3022 er = primær-nøglebrud. If DataErr = 3022 Then
' Vis custom fejl-meddelelse MsgBox "Instruktøren " & Me.Navn.Value & " med tlf. " & Me.Tlf & " er allerede oprettet!", vbOKOnly, "Indberetningsfejl"
End If End Sub _____________________________________________________
Har forsøgt mig med jkrons forslag
Private Sub InstruktoerID_LostFocus()
If Len(InstruktoerID) <> 6 Then MsgBox "Den indtastede tekst skal være på 6 tegn, prøv igen.", vbInformation Me!InstruktoerID = ""
End If End Sub _______________________________________
Access er hamrende ligeglad. Får stadig standard-fejlmedd. "Den indtaste værdi passer ikke til inputmasken ">LLLLLL" der er angivet for dette felt" :-(
og den nye custom-fejlmeddelelse kommer slet ikke frem.
Det der undrer mig endnu mere er, at hvis jeg f.eks. undlader at indtaste noget i InstruktoerID overhovedet, så vises den valideringsregl jeg har sat på valideringsregl og valideringsmeddelelse på formularen
Men hælder nu stadig til at jeg skal oprette en kode noget lignende
If DataErr = etEllerAndetTal MsgBox bla bla
Kan det have noget at sige at jeg på tblInstruktoer har oprettet indeks på felterne Navn og Tlf - for at sikre mig at samme person ikke kan oprettes mere end en gang under forskelligt ID ???
og jep har prøvet at debugge - access overser fuldstændig koden.
Susanne> Du behøver ikke at undre dig over at det virker, når du ikke indtaster noget. Access kontrollerer inputmasken først, og hvis den ikke er oveholdt, giver den en fejlmeddelelse, derfor når den aldrig frem til valideringsreglen, hvis ikke inputmasken er korrekt. Hvis du ikke indtaster noget, er der ikke noget brud på input masken, og så udføres den egentlige validering.
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.