Выполнение вычислений в запросе. В запросах можно создавать поле с использованием арифметических операций над полями таблицы; новое текстовое поле как результат соединения (конкатенации)

В запросах можно создавать поле с использованием арифметических операций над полями таблицы; новое текстовое поле как результат соединения (конкатенации) текстовых полей или символьных констант; символьную константу, заключив текст в двойные или одиночные кавычки.

В выражениях используют следующие операторы:

+ – складывает два арифметических выражения;

- – вычитает из первого арифметического выражения второе;

* – перемножает два арифметических выражения;

/ – делит первое арифметическое выражение на второе;

\ – округляет два арифметических выражения до целых значений и делит первое число на второе. Результат округляется до целого;

^ – возводит первое арифметическое выражение в степень, задаваемую вторым арифметическим выражением;

MOD – округляет оба арифметических выражения до целых значений, делит первое число на второе и возвращает в качестве результата остаток;

& – создает текстовую строку как результат присоединения второй строки к концу первой.

ПРИМЕР 5. Создание запроса под именем Запрос три поля в одном.

Чтобы создать запрос, используя таблицы Должности, Отделы и Сотрудники, в котором будет отображаться поле, содержащее значение полей Фамилия, Имя, Отчество, надо:

1. Выбрать пункт Создание запроса в режиме конструктора.

2. В окне Добавление таблиц выбрать нужные таблицы.

3. Выбрать поля: первое поле запроса – НазваниеОтдела из таблицы Отделы; второе поле запроса – Должность из таблицы Должности.

4. В третье поле надо ввести выражение (рис. 2.142):

Сотрудник: [Фамилия]&" "&[Имя]&" "&[Отчество]

Рис. 2.142. Окно запроса с вычисляемым текстовым полем

5. Сохранить полученный запрос под именем Запрос три поля в одном.

6. Результат запроса представлен на рис. 2.143.

Рис. 2.143. Результат запроса, содержащего вычисляемое текстовое поле

При построении сложных выражений используют утилиту, которая называется Построитель выражений.

ПРИМЕР 6. Создание запроса под именем Запрос Всего начислено.

Чтобы посмотреть, как используется построитель выражений, создать новый запрос на основе таблиц Зарплата, Сотрудники, Должности, Отделы. Для этого надо:

1. Создать запрос в режиме конструктора и добавить таблицы Зарплата, Сотрудники, Должности, Отделы. Из этих таблиц добавить в запрос поля Фамилия, Должность, НазваниеОтдела.

2. Щелкнуть по пустому полю в бланке и нажать кнопку Построить на панели инструментов либо правую кнопку мыши и выбрать команду Построить.

3. Откроется окно Построитель выражений (рис. 2.144). В верхней части окна расположена пустая область ввода, в которой создают выражения. Можно вручную вводить выражение или использовать различные кнопки операторов, которые расположены прямо под областью ввода. В нижней части окна расположены три списка, которыми можно пользоваться, чтобы найти необходимые для создания выражения имена полей и функций.

Рис. 2.144. Окно построителя выражений

4. Ввести имя поля ВсегоНачислено. Для этого в верхней панели ввести название вычислимого поля ВсегоНачислено и поставить двоеточие.

5. Заполнить поле ВсегоНачислено. Для этого в нижней левой панели дважды щелкнуть по папке Таблицы, в которой находятся папки Зарплата, Сотрудники, Должности, Отделы. Открыть папку Должности. В нижней средней панели выбрать поле Оклад и вставить его в выражение (кнопка Вставить или двойной щелчок мышью). Затем вставить знак операции сложения и добавить из таблицы Зарплата поля Почасово, Премия, ОплатаДоговор, соединяя их операцией суммирования (рис. 2.145). Сохранить запрос под именем Запрос Всего начислено. Если при вводе будет появляться служебное слово «Выражение» – удалить его.

Рис. 2.145. Выражение для расчета суммы часов работы

6. Результатом такого запроса будет список всех сотрудников с общей суммой начислений для каждого из них.

Итоговые запросы

Иногда надо отобразить итоговые значения по группам данных. Например, найти общую сумму заработка по отделу. Это можно сделать с помощью итогового запроса. Для вычисления в запросе итоговых значений необходимо щелкнуть по кнопке Групповые операции .

Групповые операции

При создании запросов в бланке используется поле Групповая операция, которое группирует записи по каждому полю. Если это поле не отображается, надо нажать кнопку Групповые операции на панели инструментов. Для выполнения групповых операций надо щелкнуть в поле Групповая операция и нажать на кнопку справа, при этом откроется список функций (рис. 2.146).

Рис. 2.146. Групповые операции

В таблице 2.18 представлены функции, которые используются в групповых операциях.

Таблица 2.18