Оператор между... и
Применяется для: Access 2013 | Access 2016
Определяет, соответствует ли значение выражения указанному диапазону значений. Используйте этот оператор в инструкциях SQL.
Синтаксис
expr [ Not ] Междузначением1изначением2
Синтаксис оператора между... и состоит из следующих элементов:
Часть | Описание |
---|---|
expr | Выражение, определяющее поле с данными, которые вы хотите оценить. |
значение1, значение2 | Выражения, по которым требуется оценить expr. |
Замечания
Если значение expr находится между значениями value1 и value2 (включительно), значение Между... Оператор And возвращает значение True; В противном случае возвращается значение False. Вы можете включить логический оператор Not для оценки противоположных условий (т.е. находится ли значение expr вне диапазона, определяемого value1 и value2 ).
Вы можете использовать оператор между... и для определения того, находится ли значение поля в указанном числовом диапазоне. В примере ниже определяется, доставлен ли заказ до места в диапазоне указанных почтовых индексов. Если почтовый индекс находится в диапазоне между 98101 и 98199, функция IIf возвращает "Local"
. В противном случае возвращается "Nonlocal"
.
SELECT IIf(PostalCode Between 98101 And 98199, "Local", "Nonlocal")
FROM Publishers;
Если expr, value1 или value2 имеет значение Null, Между... Возвращает значение NULL .
Так как подстановочный знак, например, *
, всегда рассматриваются как литералы, вы не сможете использовать их с оператором между... и. Например,вы не можете использовать 980*
и 989*
для поиска почтовых индексов, которые начинаются с 980-989.
Вместо этого, у вас есть две основные альтернативы для решения данной задачи. Вы можете добавить выражение к запросу, который оставляет три символа текстового поля и использовать оператор между... и для этих символов. Или вы можете использовать высокие и низкие значения с дополнительными символами, в этом случае от 98000 до 98999 или от 98000 до 98999-9999 при использовании расширенных почтовых индексов. (Необходимо опустить значение - 0000 из низких значений, так как в противном случае 98000 удаляется, если некоторые почтовые индексы имеют расширенные разделы, а другие нет.)
Пример
В данном примере перечислены имена и контактные данные каждого клиента, разместившего заказ во втором квартале 1995 года.
В этом примере вызывает процедуре EnumFields, которую можно найти в приведенном примере инструкции SELECT.
Sub SubQueryX()
Dim dbs As Database, rst As Recordset
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' List the name and contact of every customer
' who placed an order in the second quarter of
' 1995.
Set rst = dbs.OpenRecordset("SELECT ContactName," _
& " CompanyName, ContactTitle, Phone" _
& " FROM Customers" _
& " WHERE CustomerID" _
& " IN (SELECT CustomerID FROM Orders" _
& " WHERE OrderDate Between #04/1/95#" _
& " And #07/1/95#);")
' Populate the Recordset.
rst.MoveLast
' Call EnumFields to print the contents of the
' Recordset. Pass the Recordset object and desired
' field width.
EnumFields rst, 25
dbs.Close
End Sub
См. также
- Форум для разработчиков Access
- Помощь при работе с Access на support.office.com
- Помощь при работе с Access на answers.microsoft.com
- Форумы Access на UtterAccess
- Справочный центр (FMS) для разработки и VBA программирования для Access
- Публикации по Access на StackOverflow
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.