Validering
Beskrivelse
Validering
Ofte har man brug for en mere avanceret validering på felter, end dem Access almindeligt tilbyder. Det kan vi gøre med VBA!
Man bruger hændelsen VedUdgang på det felt man ønsker at validere.
Proceduren overfører en værdi der hedder Cancel. Sætter man denne til True i proceduren får brugeren ikke lov til at forlade feltet.
Det kunne se sådan her ud:

Vælg kode generatoren og skriv din validering:

Øvelse
Lav en kopi af databasen fra forrige øvelse og kald den "Validering.mdb"
Prøv at sætte validering på kundenummeret i kundekartoteket- det skal være på mellem 3 og 5 cifre.
Prøv også at lave en validering, hvor to tekstfelter skal være ens - f.eks. til password felter.
Pak databasen sammen eller omdøb den og send den til mig.
Løsning
Mit forslag til løsningen han du downloade her.
Password formular
Jeg har oprettet en password formular med to tekstfelter og en knap. Eventhandlerne på denne formular ser sådan her ud:
Private Sub cmdAflever_Click() If txtPassword1.Value <> "" And txtPassword1.Value = txtPassword2.Value Then MsgBox "Flot" Else MsgBox "Prøv lige igen" End If End Sub Private Sub txtPassword1_Exit(Cancel As Integer) If txtPassword2.Value <> "" And txtPassword2.Value <> txtPassword1.Value Then MsgBox "De to password skal være ens" End If End Sub Private Sub txtPassword2_Exit(Cancel As Integer) If txtPassword1.Value <> "" And txtPassword2.Value <> txtPassword1.Value Then MsgBox "De to password skal være ens" End If End Sub Kunde formular
På kundeformularen har jeg tilføjet følgende eventhandlere:
Private Sub KundeNr_Exit(Cancel As Integer) If Len(KundeNr.Value) < 3 Or Len(KundeNr.Value) > 5 Then MsgBox "Kundenummeret skal have mellem 3 og 5 cifre" Cancel = True End If End Sub Private Sub OprettetDato_DblClick(Cancel As Integer) If Not IsDate(OprettetDato.Value) Then OprettetDato.Value = Date End If End Sub Brug for hjælp til VBA, VSTO eller SQL?
Scient Data tilbyder professionel IT-konsulentbistand
Kontakt Scient Data →