IT Fjernundervisning

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:

Access VBA kursus Validering

Vælg kode generatoren og skriv din validering:

Access VBA kursus validering 2


Ø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 →