Verplicht veld werkt slechts eenmaal

Status
Niet open voor verdere reacties.

oosthoek

Gebruiker
Lid geworden
7 jan 2013
Berichten
49
Hallo,

Ik heb een niet afhankelijk veld opm dat door middel van een button met onderstaande code wordt opgeslagen dit werkt goed en zolang er niets in veld opm wordt ingevuld verschijnt de msgbox als er op de button wordt geklikt maar wanneer er eenmaal iets is getypt en opgeslagen verschijnt het veld weer leeg en nu kan er wel een "leeg veld" worden opgeslagen

Code:
Private Sub Knop54_Click()
 If IsNull(Me.opm) Then
      MsgBox "Er zijn geen opmerkingen ingevuld!", vbOKOnly
       Cancel = True
      Me.opm.SetFocus
    End If

Dim db As Database
Dim rec As Recordset
 
Set db = CurrentDb
Set rec = db.OpenRecordset("Select * from opmerkingen")

rec.AddNew
rec("opm") = Me.opm
rec("contactid") = Me.Id

rec.Update

Me!opm = ""
 
Me.Requery
 Exit Sub
 
End Sub
 
Je weet blijkbaar het verschil nog niet tussen 'leeg' en leeg :). De ene leeg is namelijk niet de andere.
Je checkt het veld op Null (IsNull(Me.opm)) maar na het toevoegen maak je hem leeg met Me.opm = "". En dat is dus niet hetzelfde.
Code:
Private Sub Knop54_Click()
Dim rec As Recordset
    
    If IsNull(Me.opm) Then
        MsgBox "Er zijn geen opmerkingen ingevuld!", vbOKOnly
        Cancel = True
        Me.opm.SetFocus
    End If
    Set rec = CurrentDb.OpenRecordset("opmerkingen")
    With rec
        .AddNew
        !opm = Me.opm
        !contactid = Me.Id
        .Update
    End With
    Me.opm = Null
    Me.Requery
 
End Sub
 
Toch nog niet helemaal perfect nu verschijnt wel de msgbox bij een "leeg veld" als daar dan op ok geklikt wordt 'lege veld" nog steeds aan de tabel toegevoegd
 
Ook dat is logisch. Je gebruikt wel een regel Cancel=True maar dat doet hier natuurlijk helemaal niks. Wat je eigenlijk wilt is de procedure stoppen. En dat doe je zo:
Code:
    If IsNull(Me.opm) Then
        MsgBox "Er zijn geen opmerkingen ingevuld!", vbOKOnly
        Me.opm.SetFocus
        Exit Sub
    End If
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan