Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные и контрольные_Access З-32.doc
Скачиваний:
7
Добавлен:
26.11.2019
Размер:
776 Кб
Скачать
☆

Создание вычисляемых полей

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

Задание 4

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

1. В бланк запроса поместите поля КодЗаказа и КодТовара. Затем установите курсор в свободную колонку и введите имя нового поля - назовем его Стоимость. После имени поставьте символ «:» (двоеточие). Он отделяет имя вычисляемого поля от выражения и является обязательным.

2. На панели инструментов нажмите кнопку Построить. Откроется окно Построитель выражений.

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

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

  2. Сохраните запрос и просмотрите полученный результат.

Задание 5

На основе таблицы Сотрудники вычислите стаж работы каждого сотрудника. Для этого вам потребуются встроенные функции даты и времени (см. приложение). Стаж работы – это количество полных лет, проработанных сотрудником с момента найма на работу (поле ДатаНайма в таблице Сотрудники) по сегодняшний день (встроенная функция Date( )).

Порядок построения запроса

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

  2. Вызовите окно Построитель выражений. Выбирая из меню нужные поля и функции, введите выражение Date()-Сотрудники!ДатаНайма.

  3. Сохраните запрос и просмотрите результат. Полученные числа показывают стаж работы в днях, а нам нужно в годах, т.е. полученный результат нужно разделить на 365 (число дней в году).

  4. Откройте запрос в режиме конструктора, вызовите окно Построитель выражений и измените выражение на (Date()-Сотрудники!ДатаНайма)/365. Снова сохраните запрос и просмотрите результат.

  5. Результат верный, но нам нужно целое число лет, т.е. дробную часть нужно отбросить. Для этого существует математическая функция Int, которая отбрасывает дробную часть числа (не округляя его). Еще раз измените выражение на Int((Date()-Сотрудники!ДатаНайма)/365). Полученный результат нас полностью устраивает.

Перекрестный запрос

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

Задание 6

Постройте перекрестный запрос на базе таблицы Заказы, показывающий, сколько заказов обрабатывает каждый сотрудник для каждой из стран-получателей. В строках этого запроса должны располагаться страны-получатели, а в столбцах – сотрудники.

Порядок построения запроса

Активизируйте ярлык Запросы и нажмите кнопку Создать. В появившемся списке выберите Перекрестный запрос. Нажмите кнопку OK. Выберите нужную таблицу или запрос (в данном случае таблицу Заказы). Далее, следуя указаниям, выберите поля, значения которых будут служить заголовками строк, затем поля, значения которых будут служить заголовками столбцов. После этого выберите нужную функцию (в данном случае Число) и установите или снимите (при необходимости) флажок Итоги для вычисления итогового значения по каждой строке. Дайте запросу имя и нажмите кнопку Готово. Просмотрите полученный результат.