Currently I use this
(note I know I could use a standard variable rather than the tempvar but this is on the fly)
Code:
Dim strArea As StringstrArea = ""
strArea = "((tblAreas.AreasID)=" & Me.lstAreas.Column(0) & ")"
If TempVars!tmpfiltercatalogues = "" Then
TempVars!tmpfiltercatalogues = strArea
Else
TempVars!tmpfiltercatalogues = TempVars!tmpfiltercatalogues + " OR " & strArea
Debug.Print "Searching " & TempVars!tmpfiltercatalogues
End If
strSQL = "SELECT Count(tblSchools.NewSchoolsID) AS Schools, tblTourOrganiser.MergedNameT AS [Tour Organiser], Count(IIf(IsNull([cataloguelabelprinted]) Or ([cataloguelabelprinted]<DLookUp(""CatalogueDate"",""tblCataloguesTourOrganiser"")),1,Null)) AS [Catalogue Not Sent], Count(IIf(IsNull([cataloguelabelprinted]) Or ([cataloguelabelprinted]<DLookUp(""CatalogueDate"",""tblCataloguesTourOrganiser"")),Null,1)) AS [Catalogue Sent], tblAreas.Area " & vbCrLf & _
"FROM (tblCataloguesTourOrganiser RIGHT JOIN tblTourOrganiser ON tblCataloguesTourOrganiser.CataloguesTourOrganiserID = tblTourOrganiser.CataloguesToCall) RIGHT JOIN (tblAreas INNER JOIN tblSchools ON tblAreas.AreasID = tblSchools.AreaID) ON tblTourOrganiser.TourOrganiserID = tblAreas.TourOrganiserID " & vbCrLf & _
"WHERE ((tblSchools.SchoolTypeID)=2) AND ((tblSchools.Enrollment)>100) AND " & TempVars!tmpfiltercatalogues & " " & vbCrLf & _
"GROUP BY tblTourOrganiser.MergedNameT, tblAreas.Area, tblTourOrganiser.TourOrganiserID " & vbCrLf & _
"ORDER BY tblTourOrganiser.MergedNameT, Count(IIf(IsNull([cataloguelabelprinted]) Or ([cataloguelabelprinted]<DLookUp(""CatalogueDate"",""tblCataloguesTourOrganiser"")),1,Null)) DESC;"
Debug.Print "Below" & vbCrLf & strSQL
Me.List0.RowSource = strSQL
Me.List0.Requery