|
|
|
| Можно ли в запросе внутри выражения «In(“Item1”, “Item2”, …, “ItemN”)» включать диапазоны типа выражения «In(“Item1”, “Item2”, “Item6” TO “Item12”, “Item16*” TO “Item21*”, “ItemN”). Если нет, то подскажите, как решить указанную задачу? | |
|
| |
|
|
|
| вызывать функцию
например такую
Public Function fff(asd As String) As String
Dim dfg As Long
dfg = Nz(Replace(asd, "Item", ""), 0)
Select Case dfg
Case 0: fff = ""
Case 1 To 10: fff = "первая часть"
Case 11 To 20: fff = "вторая часть"
Case 21, 24, 27: fff="третья часть"
Case Else: fff = "четвертая часть"
End Select
End Function | |
|
| |
|
|
|
|
| Если исходить из того что In() в принципе анаголичен оператору OR (правда говорят что работает быстрее) то можно числа оставить в In а диапазоны вытащить отдельно
например так
SELECT CDbl(Replace([столбец],"Item","")) AS Поле
FROM Таблица1
WHERE (((CDbl(Replace([столбец],"Item",""))) In (1,3,5,7) Or ((CDbl(Replace([столбец],"Item","")))>=9 And (CDbl(Replace([столбец],"Item","")))<=12))); | |
|
| |