Поскольку подстановочные знаки (Подстановочные знаки. Эти знаки используют в запросах и выражениях для включения всех записей, имен файлов или других элементов, которые содержат определенные знаки или отвечают определенному образцу.), например звездочка (*), считаются литералами, их нельзя использовать в операторе Between...And. Например, нельзя использовать выражения вида «980*» и «989*», чтобы найти все индексы, начинающиеся с чисел в интервале от 980 до 989. Существует два способа решения этой задачи. Можно добавить в запрос выражение, которое передает оператору Between...And первые три символа текстового поля. Другой вариант — добавить к нижней и верхней границам проверяемого интервала дополнительные цифры, в данном случае — от 98000 до 98999 или от 98000 до 98, если используются расширенные почтовые индексы (у нижних индексов необходимо опустить - 0000, так как в противном случае будет пропущен индекс 98000, если в одних индексах есть расширенные секции, а в других нет).
Исходная страница: http://office. /ru-ru/access/HA.aspx
Оператор In
Применимо к: Microsoft Office Access 2007
Определяет, равно ли значение выражения какому-либо значению из указанного списка.
Синтаксис
выражение [Not] In(значение1, значение2, . . .)
Замечания
Синтаксис оператора In включает в себя следующие элементы.
Элемент | Описание |
выражение | Выражение, определяющее поле с данными для вычисления |
значение1, значение2 | Выражение или список выражений, с которыми сравнивается выражение |
Оператор In возвращает значение True, если выражение найдено в списке значений, и False, если оно не найдено. Чтобы вычислить значение выражения с обратным условием (выражения нет в списке значений), можно добавить логический оператор Not.
Например, с помощью оператора In можно определить, какие заказы доставлялись в указанные районы.
SELECT *
FROM Заказы
WHERE РегионДоставки In (‘Север’,’Восток’,’Юг’);
См. также
Выражения SQL
Предложение WHERE
Исходная страница: http://office. /ru-ru/access/HA.aspx? pid=CH
Оператор Like
Сравнивает строковое выражение (Строковое выражение. Любое выражение, значением которого является строка (последовательность знаков). Элементами такого выражения могут быть функции, возвращающие строку или строковый подтип Variant (VarType 8); строковые литералы, константы, переменные или строковые подтипы типа Variant.) с шаблоном в выражении SQL (Язык SQL (Structured Query Language). Язык структурированных запросов и программирования баз данных, широко используемый для доступа, запросов, обновления и управления данными в реляционных СУБД.).
Синтаксис
выражение Like "шаблон"
Синтаксис оператора Like включает в себя следующие элементы.
Элемент | Описание |
выражение | Выражение SQL, используемое в предложении WHERE. |
шаблон | Строка или литерал текстовой строки, с которым сравнивается выражение |
Замечания
Оператор Like можно использовать для поиска значений полей, соответствующих указанному шаблону. В качестве шаблона, можно указать полное значение (например, Like “Smith”) или использовать подстановочные знаки (Подстановочные знаки. Эти знаки используют в запросах и выражениях для включения всех записей, имен файлов или других элементов, которые содержат определенные знаки или отвечают определенному образцу.), чтобы получить диапазон значений (например, Like “Sm*”).
В выражениях оператор Like может использоваться для сравнения значения поля со строковым выражением. Например, если в запросе SQL указать Like “C*”, запрос вернет все значения полей, начинающиеся на букву C. В запросе с параметрами (Запрос с параметрами. Запрос, в котором одно или несколько значений, определяющих условия отбора, вводятся в интерактивном режиме пользователем. Запрос с параметрами не является отдельным типом запроса; это функциональное расширение запросов на выборку.) можно предложить пользователю ввести шаблон для поиска.
В приведенном ниже примере запрос возвращает данные, начинающиеся с буквы P, за которой следуют любая буква в интервале от A до F и три цифры.
Like “P[A-F]###”
Способы использования оператора Like для обнаружения соответствия с помощью различных шаблонов указаны в следующей таблице.
|
| Соответствие | Нет соответствия |
Несколько символов | a*a | aa, aBa, aBBBa | aBC |
*ab* | abc, AABB, Xab | aZb, bac | |
Специальные символы | a[*]a | a*a | aaa |
Несколько символов | ab* | abcdefg, abc | cab, aab |
Один символ | a? a | aaa, a3a, aBa | aBBBa |
Одна цифра | a#a | a0a, a1a, a2a | aaa, a10a |
Символы в определенном интервале | [a-z] | f, p, j | 2, & |
Символы вне определенного интервала | [!a-z] | 9, &, % | b, a |
Любой символ кроме цифр | [!0-9] | A, a, &, ~ | 0, 1, 9 |
Комбинация | a[!b-m]# | An9, az0, a99 | abc, aj0 |
Руководство по синтаксису выражений
Применимо к: Microsoft Office Access 2007
При работе в Microsoft Office Access 2007 возникают ситуации, когда необходимо получить значения, не содержащиеся в данных напрямую. Например, может потребоваться вычислить налог с оборота для заказа или итоговое значение по заказу. Эти значения вычисляются с помощью выражений.
Чтобы использовать выражения их сначала следует записать с правильным синтаксисом. Синтаксис — это набор правил, по которым объединяются слова и символы в выражении.
Воспользуемся следующей аллегорией: когда требуется, чтобы Access выполнил определенные действия, необходимо сказать об этом на его языке. Например, предположим, что требуется сказать Access: «Посмотри в поле «ДеньРождения» в таблице «Клиенты» и сообщи год рождения клиента». Такое выражение будет выглядеть следующим образом: DatePart("yyyy",[Клиенты]![ДеньРождения]). Это выражение состоит из функции DatePart и двух аргументов — «yyyy» и [Клиенты]![ДеньРождения].
Рассмотрим это выражение более подробно.

DatePart — функция, возвращающая определенную часть даты.
Аргумент интервал определяет возвращаемую часть даты — в данном случае, «yyyy» означает, что будет возвращен год значения даты.
Аргумент дата определяет элемент, из которого будет взято значение даты — в данном случае [Клиенты]![ДеньРождения] означает, что значение даты будет взято из поля «ДеньРождения» таблицы «Клиенты».
Итак, в выражениях Access используется язык, который может быть немного сложен для восприятия. Но с пониманием синтаксиса выражений и практикой становиться проще воспринимать этот язык.
Есть несколько ключевых понятий, которые следует знать перед написанием выражений. В данной статье приведены принципы, важные для понимания для понимания синтаксиса выражений, и синтаксис, используемый выражениях.
Данная статья не затрагивает синтаксис языка SQL (Structured Query Language), и не является руководством по синтаксису программ Visual Basic для приложений (VBA).
В этой статье:
Введение
Объекты, семейства и свойства
Идентификаторы
Функции, операторы и константы
Введение
Чтобы создать выражение, следует объединить идентификаторы с помощью функций, операторов и констант. Любое допустимое выражение должно содержать по крайней мере одну функцию или один идентификатор, а также может содержать константы или операторы. Выражение можно также использовать как часть другого выражения — обычно в качестве аргумента функции.
Идентификаторы в выражениях Общая форма идентификатора в выражении выглядит следующим образом: [Имя семейства]![Имя объекта].[Имя свойства].
Примечание. Достаточно указать такое количество частей идентификатора, чтобы он был уникален в контексте выражения. Часто форма идентификатора принимает вид [Имя объекта].
Функции в выражениях Общая форма выражения, использующего функцию, выглядит следующим образом: Function(аргумент, аргумент), где один из аргументов обычно является идентификатором или выражением.
Примечание. Для некоторых функций аргументы не требуются.
Перед использованием конкретной функции просмотрите соответствующий раздел справки для более детальных сведений об используемом этой функцией синтаксисе.
Операторы в выражениях Общая форма выражения, использующего оператор, выглядит следующим образом: Идентификатор оператор идентификатор. Для этой формы существуют исключения, указанные в таблицах в разделе Операторы.
Константы в выражениях Общая форма выражения, использующего константу, выглядит следующим образом: Идентификатор оператор_сравнения константа.
К началу страницы
Объекты, семейства и свойства
Все таблицы, запросы, формы, отчеты и поля в базе данных Access также называются объектами. У каждого объекта есть имя. Некоторые объекты уже имеют имена, например таблицы «Контакты» в базе данных, созданной на основе шаблона «Контакты» Microsoft Office Access. При создании нового объекта ему следует дать имя.
Набор всех составляющих определенного типа объекта называется семейством. Например, набор всех таблиц в базе данных является семейством. Некоторые объекты, являющиеся частью семейства в базе данных, могут также являться семействами, содержащими другие объекты. Например, объект-таблица — это семейство, содержащее объекты-поля.
Объекты имеют свойства, которые описывают и позволяют изменять характеристики объекта. Например, у объекта-запроса есть свойство Представление по умолчанию (Default View), описывающие и позволяющее задать отображение запроса при его выполнении.
Приведенные ниже схемы иллюстрируют связь между семействами, объектами и свойствами:

Семейство
Объект
Свойство
К началу страницы
Идентификаторы
При использовании объекта, семейства или свойства в выражении пользователь ссылается на него с помощью идентификатора. Идентификатор включает имя идентифицируемого элемента, а также имя элемента к которому он принадлежит. Например, идентификатор поля включает имя поля и имя таблицы, к которой данное поле принадлежит. Примером такого идентификатора служит приведенный выше пример выражения: [Клиенты]![ДеньРождения].
В некоторых случаях идентификатором служит само имя элемента. Это справедливо, если имя элемента уникально в контексте создаваемого выражения. Оставшаяся часть идентификатора предоставляется по контексту. Например, при создании запроса, использующего только одну таблицу, идентификатором может быть имя поля без имени таблицы, так как имена полей внутри таблицы уникальны. Так как используется только одна таблица, имя таблицы в любом идентификаторе, используемом в запросе для ссылки на поле, подразумевается.
В других случаях необходимо явно указать все части идентификатора, чтобы ссылка была рабочей. Это справедливо, если идентификатор не является уникальным в контексте выражения. В случае неоднозначности следует явно указать количество частей идентификатора, достаточное для того, чтобы идентификатор был уникален в текущем контексте. Например, предположим, что создается запрос, использующий таблицы «Товары» и «Заказы», причем в обеих содержится поле «КодТовара». В данном случае идентификатор, используемый в запросе для ссылки на одно из полей «КодТовара» должен включать имя таблице в дополнение к имени поля — например, [Товары]![КодТовара].
Операторы идентификаторов Существует три оператора, которые можно использовать в идентификаторах.
Оператор «восклицательный знак» (!)
Оператор «точка» (.)
Оператор «квадратные скобки» ([ ])
Каждая часть идентификатора заключается в квадратные скобки, а затем объединяется с другими частями с помощью операторов «восклицательный знак» и «точка». Например, идентификатор для поля «Фамилия» в таблице «Сотрудники» выглядит следующим образом: [Сотрудники]![Фамилия]. Оператор «восклицательный знак» означает, что следующий за ним элемент является объектом, принадлежащим семейству, предшествующему оператору «точка». В данном случае [Фамилия] — это объект-поле, принадлежащее семейству [Сотрудники], которое является объектом-таблицей.
Примечание. Строго говоря, не всегда обязательно заключать идентификатор или его часть в квадратные скобки. Если в идентификаторе не содержится пробелов или других специальных знаков, квадратные скобки будут добавлены автоматически. Однако самостоятельное включение квадратных скобок является хорошей практикой, так как позволяет избежать ошибок, а также служит визуальным обозначением идентификатора в выражении.
К началу страницы
Функции, операторы и константы
Чтобы создать выражение следует не только указать идентификаторы — следует указать действие, которое требуется выполнить. Для выполнения действий в выражении используются функции, операторы и константы.
Функции
Функция — это процедура, которая может быть использована в выражении. Некоторые функции, например Date, не требуют входных данных для работы. Большинство функций, однако, требует входные данные, которые называются аргументами. В примере выражения, приведенном в начале статьи, у функции DatePart есть два аргумента: интервал (со значением «yyyy») и дата (со значением [Клиенты]![ДеньРождения]). Функция DatePart требует по крайней мере эти два аргумента (интервал и дату), но принимает до четырех аргументов.
Примечание. Если функция имеет более одного аргумента, эти аргументы разделяются запятыми.
В следующем списке приведено несколько часто используемых в выражениях функций. Для получения дополнительных сведений о синтаксисе, используемом этой функцией щелкните ссылку каждой функции.
Date Функция Date используется для вставки в выражение текущей системной даты. Она часто используется совместно с функцией Format и с идентификаторами полей, содержащих значения даты/времени.
DatePart Функция DatePart используется для определения или извлечения части даты — обычно дата получается от идентификатора поля, но иногда значение даты возвращается другой функцией, например Date.
DateDiff Функция DateDiff используется для определения разницы между двумя датами — обычно между датой, полученной от идентификатора поля, и датой, полученной от функции Date.
Format Функция Format используется для применения формата к идентификатору, а также для применения формата к результату другой функции.
IIf Функция IIf используется для оценки выражения в значениях True или False и возвращения указанного значения, если выражения возвращает значение True, либо другого указанного значения, если выражение возвращает значение False.
InStr Функция InStr используется для поиска положения знака или строки (Строка (строковое значение). Последовательность знаков, которая может включать числа и текст.) внутри другой строки. Строка, по которой осуществляется поиск обычно возвращается идентификатором поля.
Left, Mid и Right Эти функции используются для извлечения знаков из строк, начиная от левого знака (Left), определенного положения в середине (Mid) или от правого знака (Right). Они часто используются совместно с функцией InStr. Строки, из которых данные функции извлекают знаки, обычно возвращаются идентификатором поля.
Списком функций по типам см. в статье Функции (упорядоченные по категории).
Операторы
Оператор — это слово или символ, обозначающий определенную арифметическую или логическую операцию над элементами выражения. Операторы бывают:
Арифметические, например знак «плюс» (+)
Операторы сравнения, например знак равенства (=)
Логические операторы, например Not.
Операторы обычно используются для обозначения отношения между двумя идентификаторами. В приведенных ниже таблицах содержаться операторы, используемые в выражениях Access.
Арифметические операторы
Арифметические операторы используются для вычисления значений от двух или более чисел или для изменения знака числа с положительного на отрицательный.
Оператор | Назначение | Пример |
+ | Сумма двух чисел. | [СуммаЗаказа]+[СуммаНалогов] |
- | Разность между двумя числами или задание отрицательного значения числа. | [Цена]-[Скидка] |
* | Произведение двух чисел. | [Количество]*[Цена] |
/ | Деление первого числа на второе. | [Сумма]/[Количество] |
\ | Округление обоих чисел до целых значений и последующее деление первого числа на второе, после чего результат округляется до целого. | [Зарегистрировано]\[Номеров] |
Mod | Деление первого числа на второе и возвращение остатка. | [Зарегистрировано] Mod [Номеров] |
^ | Возведение числа в степень указанного порядка. | Число ^ порядок |
Операторы сравнения
Операторы сравнения используются для сравнения значений и возвращения результата в виде значений типа True, False или Null (неизвестное значение).
Оператор | Назначение |
< | Определяет, что первое значение должно быть меньше, чем второе. |
<= | Определяет, что первое значение должно быть меньше или равно второму. |
> | Определяет, что первое значение должно быть больше, чем второе. |
>= | Определяет, что первое значение должно быть больше или равно второму. |
= | Определяет, что первое значение должно быть равно второму. |
<> | Определяет, что первое значение должно быть не равно второму. |
Во всех случаях, если одно из значений является значением Null, результат также будет значением Null. Так как значение Null представляет собой неизвестное значение, результат сравнения с неизвестным значением также неизвестен.
Логические операторы
Логические операторы используются для объединения двух значений и возвращения результата в виде значений типа True, False или Null. Логические операторы также называются булевыми.
Оператор | Применение | Описание |
And | Выраж1 And Выраж2 | Возвращает значение True, если «Выраж1» и «Выраж2» также True. |
Or | Выраж1 Or Выраж2 | Возвращает значение True, если либо «Выраж1», либо «Выраж2» — True. |
Eqv | Выраж1 Eqv Выраж2 | Возвращает значение True, если оба аргумента, «Выраж1» и «Выраж2», — True, либо если оба аргумента — False. |
Not | Not Выраж | Возвращает значение True, если «Выраж» не равно True. |
Xor | Выраж1 Xor Выраж2 | Возвращает значение True, если либо «Выраж1», либо «Выраж2» — True, но не оба одновременно. |
Операторы слияния
Операторы слияния используются для объединения двух текстовых значений в одну строку.
Оператор | Применение | Описание |
& | строка1 & строка2 | Объединение двух строк в одну. |
+ | строка1 + строка2 | Объединение двух строк в одну и распространение значений Null. |
Специальные операторы
Специальные операторы используются как показано в следующей таблице.
Оператор | Описание | Дополнительные сведения |
Is Null или Is Not Null | Определяет, является ли аргумент значением Null или Не Null (Not Null). | |
Like "шаблон" | Сопоставляет строковые значения с использованием подстановочных знаков ? и *. | Оператор Like |
Between знач1 And знач2 | Определяет, лежит ли числовое значение или значение даты в указанном интервале. | Оператор Between...And |
In(строка1,строка2...) | Определяет, содержится ли строковое значение в наборе строковых значений. | Оператор In |
Константы
Константа — это известное, не изменяющееся значение, которое может быть использовано в выражении. В Access существуют четыре часто применяемых константы:
True Определяет значение, соответствующее логическому значению «Истина».
True Определяет значение, соответствующее логическому значению «Ложь».
Null Определяет неизвестное значение.
"" (пустая строка) Определяет известное пустое значение.
Константы могут использоваться в качестве аргументов функций и в выражениях, как часть условия. Например, константа «пустая строка» ("") может использоваться в качестве условия для столбца в запросе: <>"", чтобы вернуть значения полей этого столбца. В данном примере <> является оператором, а "" — константой. Вместе они определяют, что идентификатор должен пройти сравнение с пустой строкой. Выражение возвращает значение True в случае, если значение идентификатора не равно пустой строке.
Примечание. Следует соблюдать осторожность при использовании константы Null. В большинстве случаев использование константы Null совместно с оператором сравнения будет приводить к ошибке. Если в выражении требуется сравнить значение с константой Null, используйте оператор Is Null или Is Not Null.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |


