כמו שהבטחתי....
Private Sub doSQL() Dim sSQL As String ´ ביצוע שאילה לבנית הדו"ח ´ בנית שאילתה If Me![LstType].Column(0) = 5 Or Me![LstType].Column(0) = 12 Then If Len(fsValues) < 6 Then sSQL = " SELECT BusTBL.BusID, BusTBL.BusName, CountStationQuery.[stationnumber], CountStationQuery.[stationname], CountStationQuery.order, CountStationQuery.snumber " _ & " FROM BusTBL LEFT JOIN CountStationQuery ON BusTBL.BusID = CountStationQuery.BusID " _ & fsSort Me![TxtTotal] = Nz(DCount("[number]", "details"), 0) Else sSQL = " SELECT BusTBL.BusID, BusTBL.BusName, CountStationQuery.[stationnumber], CountStationQuery.[stationname], CountStationQuery.order, CountStationQuery.snumber " _ & " FROM BusTBL LEFT JOIN CountStationQuery ON BusTBL.BusID = CountStationQuery.BusID " _ & " WHERE (((BusTBL.BusID) " & fsValues & ")) " _ & fsSort Me![TxtTotal] = Nz(DCount("[number]", "details", "[busid] " & fsValues), 0) End If Else sSQL = " SELECT details.Number, details.name, details.adress, details.[stationnumber], details.class, details.[hometel], details.[worktel], details.selection, details.[workplace], details.group, details.BusID, station.order, station.[stationname] " _ & " FROM details LEFT JOIN station ON (details.[stationnumber] = station.[stationnumber]) AND (details.BusID = station.BusID) " _ & fsFilter & " " _ & fsSort End If Me![TxtSql] = sSQL End Sub Private Function fsValues() As String Dim iCurrRow As Integer ´ איסוף נתוני החיתוך fsValues = "in ( " For iCurrRow = 0 To Me![LstValue].ListCount - 1 If Me![LstValue].Selected(iCurrRow) Then fsValues = fsValues & Me![LstValue].ItemData(iCurrRow) & ", " End If Next iCurrRow fsValues = Left(fsValues, Len(fsValues) - 2) & ")" End Function Private Function fsFilter() As String ´ בנית חתך לשאילתה לדו"חות Select Case Me![CmbReport] Case 1 fsFilter = " " Case 2 fsFilter = "WHERE (((details.[stationnumber]) " Case 3 fsFilter = "WHERE (((details.BusID) " Case 4 fsFilter = " " End Select ´ בקרה שיש ערכים לסינון אחרת הצג הכל If Len(fsValues) < 6 Then fsFilter = " "
עכשיו אם אתה משרשר קריטריון וכרגע אין לך חתך אז משתמשים ב -
like ´*´
זה כל הסיפור