Controleren op inhoud txtVeld

Status
Niet open voor verdere reacties.

Woodshoe

Gebruiker
Lid geworden
2 feb 2011
Berichten
13
Kenners,

ik heb een volgend probleem:

Ik heb een formulier waarmee ik diverse rapporten kan afdrukken.
Nu wil ik, voordat het rapport wordt afgedrukt, controleren of er een veld op het formulier wel is ingevuld.
Als het veld txtDatumvan is ingevuld (willekeurig wat) MOET veld txtDatumtot ook worden ingevuld.
Nu heb ik dat proberen te evalueren met onderstaande code (en in/met vele andere vormen), maar ik krijg steeds een foutmelding als "Oneigenlijk gebruik van Null" of de code evalueert de If niet eens.

Code:
Private Sub btnRapportvoorbeeldPerUitrijder_Click()
On Error GoTo Err_btnRapportvoorbeeldPerUitrijder_Click
   
    Dim stDocName As String
       
    If (Me.txtDatumvan = Not Null And Me.txtDatumtot = Null) Then
        Call MsgBox("Verplichte datuminvoer")
        GoTo Exit_btnRapportvoorbeeldPerUitrijder_Cli
    End If
            
    stDocName = "rptEnqueteResultatenPerUitrijder"
    DoCmd.OpenReport stDocName, acPreview
    Me.cbxUitrijder = Null
    Me.txtDatumvan.SetFocus
    Me.txtDatumtot = Null
    Me.txtWeek = Null
    Me.lblVerplicht.Visible = False
        
Exit_btnRapportvoorbeeldPerUitrijder_Cli:
    Exit Sub

Err_btnRapportvoorbeeldPerUitrijder_Click:
    MsgBox Err.Description
    Resume Exit_btnRapportvoorbeeldPerUitrijder_Cli
    
End Sub

Iemand een idee wat er fout is.
Declareren van nieuw variabelen met de txtVelden als inhoud werkt ook niet.

André
 
Een tekstveld kun je niet checken op Null. Wel op leeg. Bijvoorbeeld zo:
If Nz(Me.txtDatumvan,"") <> "" And Nz(Me.txtDatumtot,"") = "") Then
 
Bedankt Michel.
Dit werkt en ik heb weer wat geleerd! Het lijkt zo 'simpel'.

Ik had het ook met de term Empty geprobeerd, maar dat ging ook niet.
 
OctaFish heeft je iets verkeerds geleerd.
Een tekstveld kun je namelijk wel degelijk checken op Null.
De manier waarop je dat probeerde in je code is onjuist.
= Not Null moet zijn Is Not Null.
= Null moet zijn Is Null.

Een manier om in 1 keer checken op null en leeg is deze:

If Len(Trim(Me.txtDatumvan &"")) = 0 And Len(Trim(Me.txtDatumtot & "" = 0)) Then

Tardis
 
Gek genoeg doet mijn regel dat ook met één regel.... ;) En niet doen alsof ik iets onzinnigs heb gezegd, da's niet netjes....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan