Verplichting alle velden invullen

Status
Niet open voor verdere reacties.

sjobbels

Gebruiker
Lid geworden
11 dec 2008
Berichten
145
Ik was er helemaal klaar mee dat men altijd de belangrijkste velden van een formulier niet invulde. Nu heb ik ervoor gezorgd dat alle velden verplicht zijn.

Nu krijg ik vaak de opmerking dat men niet kan zien welk veld nog niet is ingevuld.
Is er misschien een oplossing dat er uitroep tekens / of iets anders voor de velden geplaatst kan worden die nog niet zijn ingevuld?
 
Je kunt extra labels maken met bijvoorbeeld < < als tekst. Bij het laden van het formulier check je dan of het bijbehorende veld is ingevuld.

Code:
Private Sub Form_Current()
    If Nz(Me.Telefoon.Value, "") = "" Then
        Me.lblTelefoon.Visible = True
    Else
        Me.lblTelefoon.Visible = False
    End If
End Sub

En als je dan een waarde invult in het tekstveld, maak je hem weer onzichtbaar.

Code:
Private Sub Telefoon_AfterUpdate()
    If Nz(Me.Telefoon.Value, "") = "" Then
        Me.lblTelefoon.Visible = True
    Else
        Me.lblTelefoon.Visible = False
    End If
End Sub
 
Dit werkt ook prima en mooi!

'// Inhoud validatie For Each ctl In Me.Controls

If ctl.Tag = "Verplicht" And IsNull(ctl) Then

MsgBox "Verplicht veld is niet gevuld.", vbExclamation, "Onvoldoende gegevens"

If ctl.ControlType = acComboBox Then
ctl.SetFocus
ctl.Dropdown
Else
'// Ga naar het control ctl.SetFocus

End If

' // doorverwijzen naar de Exit_btn{jouwnaam}_Click label
' // Stopt de code
GoTo Exit_btn{jouwnaam}_Click
End If
Next ctl


ctl.Tag is een eigenschap van het in te vullen veld.
Deze eigenschap vind je in het eigenschappenvenster onder "Extra info" Als je dezelfde tekst (in mijn code is dat "Verplicht") daar ingeeft worden alle velden daarop gecontroleerd. Als het veld dan leeg blijkt dan komt er een waarchuwing in beeld en wordt de focus naar het betreffende veld geplaatst (en eventueel geopend bij keuzelijst)
Dit werkt goed als je bijvoorbeeld een formulier invult en dan het record opslaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan