
- •2.6. Связывание таблиц
- •2.7. Проектирование запросов
- •2.7.1. Простой запрос
- •2.7.2. Конструктор
- •2.7.3. Повторяющиеся значения
- •2.7.4. Перекрестный запрос
- •Создание перекрестного запроса без помощи мастера
- •Создание перекрестных запросов с помощью мастера
- •Сортировка или ограничение заголовков столбцов, выводящихся в перекрестном запросе
- •2.7.5. Запрос на изменения
- •2.7.5.1. На добавление записей
- •2.7.5.2. На удаление записей
- •2.7.5.3. На обновление записей
- •2.7.5.4. На создание таблицы
- •2.7.6. Вычисления в запросах
- •2.7.6.1. Арифметические операторы
- •2.7.6.2. Операторы присваивания и сравнения
- •2.7.6.3. Логические операторы
- •2.7.6.4. Операторы слияния строковых значений
- •2.7.6.4. Операторы идентификации
- •2.7.6.5. Операторы сравнения с образцом
- •2.7.6.6. Создание выражений с помощью "Построителя выражений"
- •2.7.6.7. Функция сравнения
- •2.7.6.8. Статистические функции
2.7.6.6. Создание выражений с помощью "Построителя выражений"
Ввод выражений возможен не только вручную, но и с помощью удобного инструмента, называемого "Построитель выражений".
"Построитель выражения" вызывается всякий раз, когда в поле свойств объекта, например, в ячейке "бланка запроса" "Конструктора" запросов можно щелкнуть по кнопке с тремя точками, или по соответствующей кнопке на панели инструментов, или выбрать команду "Построить…" в контекстно-зависимом меню.
Окно "Построителя выражений" имеет вид (Рис. 47):
Рис. 47
В верхней части окна "Построителя" расположено поле выражения. Ниже находится раздел, предназначенный для создания элементов выражения и их последующей вставки в поле выражения. Допускается непосредственный ввод части выражения в поле выражения.
В средней части окна "Построителя" находятся кнопки с часто используемыми операторами. При нажатии на одну из этих кнопок построитель вставит соответствующий оператор в текущую позицию поля выражения. Чтобы вывести полный список операторов, выберите папку Операторы в нижнем левом поле и нужный тип в среднем поле. В правом поле будут выведены все операторы выбранного типа.
В нижней части окна "Построителя" находятся три поля.
В левом поле выводятся папки, содержащие таблицы, запросы, формы, объекты базы данных, встроенные и определенные пользователем функции, константы, операторы и общие выражения.
В среднем поле задаются определенные элементы или типы элементов для папки, заданной в левом поле. Например, если выбрать в левом поле "Встроенные функции", то в среднем поле появится список всех типов функций Microsoft Access.
В правом поле выводится список значений (если они существуют) для элементов, заданных левым и средним полями. Например, если выбрать в левом поле "Встроенные функции" и тип функции в среднем, то в правом поле будет выведен список всех встроенных функций выбранного типа.
Примечания:
-
Чтобы новые имена полей появились в "Построителе выражений", следует предварительно сохранить таблицу или запрос, содержащие такие поля.
-
Если функция или объект не выводятся в нижней части "Построителя выражений", то это значит, что их использование недопустимо в позиции, из которой был вызван "Построитель". Например, нельзя ссылаться на другое поле или элемент управления в условии на значение для поля в режиме "Конструктора" таблицы, таким образом, папки "Таблицы", "Запросы", "Формы" и "Отчеты" не доступны при запуске "Построителя выражений" из ячейки для свойства поля "Условие на значение" в режиме "Конструктора" таблицы.
2.7.6.7. Функция сравнения
IIf(<условие>,<значение1>,<значение2>)
Возвращает одно из двух значений в зависимости от истинности указанного условия.
Если <условие> принимает истинное значение, то результатом будет <значение1>, если же <условие> принимает ложное значение, то результатом будет <значение2>.
Функция IIf() вычисляет оба выражения (<значение1> и <значение2>), несмотря на то, что возвращается только одно из них. В некоторых случаях это приводит к нежелательным побочным эффектам. Например, если при вычислении выражения <значение2> имеет место деление на нуль, то возникнет ошибка, даже если значение <условия> имеет значение "истина".
Пример: Iif([Стипендия]>50, [Стипендия]*2,[Стипендия]\2)