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