Geef bij een niet ingevuld veld op formulier een MSG BOX

Status
Niet open voor verdere reacties.

Cor de Snor

Gebruiker
Lid geworden
27 okt 2001
Berichten
74
Beste Lezer(es), Ik ben al een tijdje bezig met een invulformulier met 4 velden. Op het formulier een knop gemaakt "Record opslaan en sluiten". Nu wil ik bij gebruik van deze knop wanneer de velden "Funtie" en "Lid sinds" niet zijn ingevuld dat er een MSG verschijnt met de mededeling dat een veld niet is ingevuld en dat de cursor naar het lege veld gaat.

Private Sub Knop55_Click()
On Error GoTo Err_Knop55_Click

DoCmd.RunCommand acCmdSaveRecord
DoCmd.Close

Exit_Knop55_Click:
Exit Sub

Err_Knop55_Click:
MsgBox Err.Description
Resume Exit_Knop55_Click

End Sub
 
Volgens mij exact overgeschreven.
if funtie = "" or lid sinds = "" then msgbox "verplicht invullen"
 
Dit riekt naar een Access vraagje; kan dus beter in het Access forum staan. Mocht ik gelijk hebben, dan kun je dat ongeveer zo oplossen:
Code:
Private Sub Knop55_Click()
On Error GoTo Err_Knop55_Click
Dim str As String, err As Integer

    If Me.Functie.Value & "" = vbNullString Then
        str = "Het veld Functie is leeg; eerst een functie kiezen." & vbLf
        err = 1
    End If
    If Me.Lid_Sinds.Value & "" = vbNullString Then
        str = str & "Het veld [Lid Sinds] is leeg; eerst een datum invullen."
        err = err + 2
    End If

    If str = "" Then
        Me.Dirty = False
        DoCmd.Close acForm, Me.Form.Name
    Else
        MsgBox str, vbOKOnly, "Velden niet ingevuld"
        Select Case err
            Case 1 Or 3
                Me.Functie.Activate
            Case 2
                Me.Lind_Sinds.Activate
        End Select
    End If
    Exit Sub

Err_Knop55_Click:
MsgBox err.Description

End Sub
Uiteraard niet kunnen testen, want ik heb jouw db niet.
 
Dankjewel Octafish voor je snelle reactie. Het betreft inderdaad Acces. Ik heb hem uitgeprobeerd maar zie geen MSG verschijnen wel een compileerfout bij: Case 1 or 3 Me.Functie.Activate Kan de methode of gegevenslid niet vinden. Ik kan helaas de database niet verzenden ivm de privacy regels.
 
Zoals ik al zei: niet uitgetest :). Probeer deze eens, die is vermoedelijk wél correct.
Code:
Private Sub Knop55_Click()
On Error GoTo Err_Knop55_Click
Dim str As String, errN As Integer

    If Me.Functie.Value & "" = vbNullString Then
        str = "Het veld Functie is leeg; eerst een functie kiezen." & vbLf
        errN = 1
    End If
    If Me.Lid_Sinds.Value & "" = vbNullString Then
        str = str & "Het veld [Lid Sinds] is leeg; eerst een datum invullen."
        errN = errN + 2
    End If

    If str = "" Then
        Me.Dirty = False
        DoCmd.Close acForm, Me.Form.Name
    Else
        MsgBox str, vbOKOnly, "Velden niet ingevuld"
        Select Case errN
            Case 1, 3
                Me.Functie.SetFocus
            Case 2
                Me.Lid_Sinds.SetFocus
        End Select
    End If
    Exit Sub

Err_Knop55_Click:
MsgBox err.Description
End Sub
De Msgbox zou je overigens wél moeten zien als je in de Stap modus door de code loopt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan