I have a series of case statements that open my form in different views. The VBA code for the form
uses both SQL and VB statements as below
Private Sub FilterMe_Click()
On Error GoTo Err_FilterMe_Click
Dim dtmStart As Date, dtmEnd As Date
Select Case Me.optFilterBy
Case 1 'Current memberships or unexpired
Me.Filter = "[Expired] = False"
Me.OrderBy = "MemberID"
Me.OrderByOn = True
Me.FilterOn = True
Case 2
'Shows records for the LAST YEAR based on each CURRENT year
'but needs new code every time date is changed!
dtmStart = IIf(Month(date) < 8, DateSerial(Year(date) - 2, 8, 1), DateSerial(Year(date) - 1, 8, 1))
dtmEnd = IIf(Month(date) < 8, DateSerial(Year(date) - 1, 7, 31), DateSerial(Year(date), 7, 31))
Me.Filter = "MemberID IN (SELECT MemberID FROM S_Payments_Table " & _
"WHERE PaymentDate Between " & _
"#" & Format(dtmStart, "mm/dd/yyyy") & "# And " & _
"#" & Format(dtmEnd, "mm/dd/yyyy") & "#" & _
"ORDER BY MemberID)"
Me.OrderBy = "MemberID"
Me.OrderByOn = True
Me.FilterOn = True
However I wanted to show the form with members who are 'Players'. My form takes all membership details and if a member is a rugby player then this is indicated by a 'tick' box. Trouble is some players remain 'ticked' but may not play in the current year for whatever reason but remain a player for next season. Without resetting the 'tick' box each season its easier to leave it but I want to filter members who are players but only current for this year.
So for
Case 6 ' Players
Me.Filter = "[Player] = True" 'And "[Expired] = False" This doesn't work data type mismatch
In ther words I want to do two things instead of 1 in the same statement