Beste,
Ik heb een formulier met een totaaloverzicht. In de formulierkoptekst heb ik op basis van Allen Browne een filter ingevoegd. Dit werkt prima zolang het maar niet een getal is zoals een hoeveelheid (cboFilterProduct). Als ik wil filteren naar een veld dat niet leeg mag zijn, krijg ik de fout melding fout 2448 U kunt geen waarde aan dit object toekennen. Ik heb al meerdere wijzigingen geprobeerd maar kom er niet uit. Het is het laatste van mijn database en wil het natuurlijk erg graag afronden. Elke hulp is zeer welkom. Alvast bedankt. Bas
Ik heb een formulier met een totaaloverzicht. In de formulierkoptekst heb ik op basis van Allen Browne een filter ingevoegd. Dit werkt prima zolang het maar niet een getal is zoals een hoeveelheid (cboFilterProduct). Als ik wil filteren naar een veld dat niet leeg mag zijn, krijg ik de fout melding fout 2448 U kunt geen waarde aan dit object toekennen. Ik heb al meerdere wijzigingen geprobeerd maar kom er niet uit. Het is het laatste van mijn database en wil het natuurlijk erg graag afronden. Elke hulp is zeer welkom. Alvast bedankt. Bas
Code:
Private Sub cmdFilter_Click()
Dim strWhere As String
Dim lngLen As Long
Const conJetDate = "\#mm\/dd\/yyyy\#"
If Not IsNull(Me.txtFilterPlaatsregio) Then
strWhere = strWhere & "([PlaatsRegio] Like ""*" & Me.txtFilterPlaatsregio & "*"") AND "
End If
If Not IsNull(Me.cboFilterSoortDienst) Then
strWhere = strWhere & "([SoortID] = " & Me.cboFilterSoortDienst & ") AND "
End If
If Not IsNull(Me.txtFilterRegioBGN) Then
strWhere = strWhere & "([RegioID] = " & Me.txtFilterRegioBGN & ") AND "
End If
[B]If Me.cboFilterProduct = 1 Then
strWhere = strWhere & "([1] > 0 " & Me.txtFilterRegioBGN & ") AND "
End If[/B]
If Not IsNull(Me.txtStartDatum) Then
strWhere = strWhere & "([Startdatum] >= " & Format(Me.txtStartDatum, conJetDate) & ") AND "
End If
If Not IsNull(Me.txtEndDatum) Then
strWhere = strWhere & "([Einddatum] < " & Format(Me.txtEndDatum + 1, conJetDate) & ") AND "
End If
lngLen = Len(strWhere) - 5
If lngLen <= 0 Then
MsgBox "No criteria", vbInformation, "Nothing to do."
Else
strWhere = Left$(strWhere, lngLen)
Me.Filter = strWhere
Me.FilterOn = True
End If
End Sub