
- •Запросы и их использование Что такое запрос
- •Типы запросов
- •Возможности запроса
- •Что такое динамической набор данных
- •Создание запроса
- •Выбор таблицы
- •Использование окна конструктора запросов
- •Перемещение в окне конструктора запросов
- •Бланк запроса
- •Условия отбора записей
- •Элементы выражения
- •Создание выражения
- •Вычисляемые поля
- •Вспомогательные операторы
- •Оператор In
- •Iif([Фамилия клиента] Is Null, "Нужно ввести фамилию клиента") Резюме
Элементы выражения
В выражениях могут содержаться комбинации операторов, имен объектов, функций, литералов и констант.
Операторы: определяют тип действия, которое будет выполнено над одним или несколькими элементами выражения.
>, =, *, And, Or, Not, Like и др.
Имена объектов: Имена объектов называются идентификаторами. Они относятся к реальным объектам: таблицам, формам, отчетам, элементам управления и полям.
Forms![Клиенты] [Адреса клиентов]
Функции: Функции всегда возвращают значение, которое является результатом либо вычисления, либо преобразования данных или оценки их истинности. В Access можно использовать как встроенные функции, так и функции, созданные пользователем.
Date(), DLookUpf), DateDiff ().
Литералы: это фактические значения, которые вводятся в выражения в виде чисел, текстовых строк или дат. В Access они используются в том же виде, в каком вы их ввели.
100, 1 января 1993, "Кот", "[A-D]*" .
Константы: это величины, которые не могут быть изменены. В следующем примере продемонстрированы элементы выражения.
Yes, No, Null, True, False.
[Контрольная дата] = Date() + 30
где [Контрольная дата] — имя объекта или идентификатор, = — оператор, Date() — функция, + — оператор, 30 — литерал.
Создание выражения
Для создания выражения можно использовать Построитель выражений (Expression Builder).
Как правило, выражения используются в окнах свойств, аргументах функций и условиях отбора записей. По ходу создания выражений область ввода будет автоматически прокручиваться, что позволит продолжить ввод выражения. Однако часто желательно видеть все выражение сразу. Это особенно важно при работе с длинными и сложными выражениями. В таком случае в Access можно воспользоваться специальным окном Область ввода (Zoom). Чтобы его открыть, щелкните на месте ввода выражения и нажмите комбинацию клавиш <Shift+F2>.
При вводе выражений Access проверяет синтаксис выражения и автоматически вставляет следующие символы:
-
Квадратные скобки ([]); в них заключаются имена элементов управления, в которых нет пробелов или знаков пунктуации.
-
Знаки фунта (#); в них заключаются распознанные даты.
-
Кавычки (""); в них заключается текст, не содержащий пробелов или знаков пунктуации.
Вычисляемые поля
При создании запроса можно использовать не только поля из таблиц, но и вычисляемые поля. Вычисляемые поля создаются с помощью выражений, в которых могут использоваться значения одного или нескольких полей, функции или другие объекты.
-
Щёлкнуть на пустой ячейке строки Поле (Field)
-
Ввести в неё:
Имя_поля: Выражение
Вспомогательные операторы
Оператор Like
Оператор Like сравнивает два строковых объекта с помощью шаблона, состоящего из символов подстановки. Он проверяет, соответствует ли один объект шаблону другого объекта. Результатом сравнения может быть значение Истина (True), Ложь (False) или Null
Для работы с оператором Like используется следующий синтаксис:
выражение Like шаблон
Если объект-выражение соответствует объекту-шаблону, то формула возвращает истинное значение.
Этот оператор является мощным и гибким инструментом для сравнения строк Для увеличения гибкости в шаблоне могут использоваться символы подстановки (читайте приведенную ниже врезку "Использование символов подстановки").
Вот еще несколько примеров использования оператора Like.
Выражение
[Фамилия] Like "И[Вв]*"
истинно, если в поле Фамилия находится строка текста, которая начинается с символов "Ив" или "ИВ". Таким образом, строка "Иванов" или "Иваненко", или "ИВЛЕВ" дает истинное значение, а строка "Петров" или "Сидоров" — ложное
Выражение
[Результат] Like "[!д-яД-Я]"
истинно, если в поле Результат находится буква А, Б, В, Г, а, б, в или г. Для других букв результат будет ложным.
Выражение
"АВ1989" Like "AB#f##"
истинно, поскольку шаблон указывает, что исходная строка должна начинаться с букв АВ, за которыми следуют любые четыре цифры.
Выражение
"110-й пройденный круг" Like "[1]*круг"
истинно, поскольку первым символом строки должен быть символ 1, а в конце должно быть слово круг.
В Access разрешается использовать пять видов символов подстановки, перечисленных ниже.
Символ |
Соответствие |
? |
Один символ (A-Z, А-Я, 0-9) F |
* |
Любое количество символов (0-n) |
# |
Любая цифра (0-9) |
[список] |
Любой символ из списка |
[!список] |
Любой символ не из списка |
Оператор Between.. .And
Оператор Between.. .And используется для определения, находится ли данный объект в некотором диапазоне значений. Его синтаксис выглядит следующим образом:
Выражение Between Значение 1 And Значение 2
Результат данного выражения будет истинным, если величина, заданная параметром Выражение, находится в указанных пределах, определяемых параметрами Значение 1 и Значение 2.
Ниже приведен пример использования этого оператора в функции IIF, которая возвращает одно из двух значений в зависимости от истинности указанного выражения.
IIF([Сумма займа] Between 0 And 250, "Немедленное погашение", "Погашение через 30 дней")
Если сумма займа не превышает $250, то данная функция будет возвращать напоминание о том, что нужно погасить долг немедленно. В противном случае возвращается напоминание, что долг нужно погасить через 30 дней.