Selectioe maken blijft een probleem

Status
Niet open voor verdere reacties.
Wat simpel lijkt wordt dus waar zet ik de code neer?


Private Sub cboJaar_AfterUpdate()
Me.cboJaar.Value=Year(Date)
Me.Filter = "[Jaar]=" & Me.cboJaar (dit eruit??)
Me.FilterOn = True
End Sub
 
Te ingewikkeld gedacht... De code moet bij de eigenschap <Bij aanwijzen> van het formulier.

Code:
Private Sub Form_Current()
    Me.cboJaar.Value = Year(Date)
End Sub
 
Michel,

Ben nu even aan het stoeien met je oplossing die je gaf om 2 cbo te combineren. Ik heb chauffeur vervangen door afdeling:

Option Compare Database


Private Sub cboJaar_AfterUpdate()
Call FilterMaken
End Sub



Private Sub Form_Current()
Me.cboJaar.Value = Year(Date)
End Sub

Private Sub cboAfdeling_AfterUpdate()
Call FilterMaken
End Sub

Function FilterMaken()
Dim sFilter As String

If Me.cboJaar & "" <> "" Then
sFilter = "[Jaar]=" & Me.cboJaar
If Me.cboAfdeling & "" <> "" Then
sFilter = sFilter & " AND [Afdeling] = '" & Me.cboAfdeling & "'"
End If
Else
If Me.cboAfdeling & "" <> "" Then
sFilter = "[Afdeling] = '" & Me.cboAfdeling & "'"
End If

If sFilter <> "" Then
Me.Filter = "[Jaar]=" & Me.cboJaar
Me.FilterOn = True
Else
Me.Filter = ""
Me.FilterOn = False
End If

End Function


Gevolg: niets werkt meer, de database opent zich niet. Melding kan het bestand niet vinden: dan blanco.

Heb gelukkig een backup.

Access2010
 
Volgens mij ben je een End IF vergeten.... En je laatste stuk klopt ook niet; je doet namelijk niets met het eerder opgebouwde filter??

Code:
Function FilterMaken()
Dim sFilter As String

If Me.cboJaar & "" <> "" Then
    sFilter = "[Jaar]=" & Me.cboJaar
    If Me.cboAfdeling & "" <> "" Then
        sFilter = sFilter & " AND [Afdeling] = '" & Me.cboAfdeling & "'"
    End If
Else
    If Me.cboAfdeling & "" <> "" Then
        sFilter = "[Afdeling] = '" & Me.cboAfdeling & "'"
    End If
End If

If sFilter <> "" Then
    Me.Filter = sFilter
    Me.FilterOn = True
Else
    Me.Filter = ""
    Me.FilterOn = False
End If

End Function

En nog een tip: als je de code opmaakt met de CODE knop ( # ) ziet je code er wat leesbaarder uit.... Bovendien hou je dan ook de inspringingen in je code, waardoor je veel sneller kunt zien welke END IF bij welke IF hoort. En dan zie je dus veel sneller waar iets ontbreekt... Test je code ook altijd met <Foutopsporing>, <db compileren> voordat je hem uittest, want dan weet je al gelijk waar eventueel een fout zit.
 
Michel,

Dank voor je input. E.e.a. werkt. Wederom de beroemde veer!

Access2010
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan