Цели занятия:
- научиться создавать итоговые запросы;
- научиться выполнять автоматическое изменение данных в таблицах с помощью запросов на изменение;
- научиться создавать отчеты на основе базовых таблиц и результирующих таблиц запросов.
Формулировка задания
- Создать итоговые запросы: Запрос16 — Запрос20.
- Создать запросы на создание новых базовых таблиц: Запрос21 — Запрос23.
- Создать запросы на обновление данных: Запрос24 — Запрос26.
- Создать запросы на удаление данных из таблиц: Запрос27 — Запрос28.
- Создать отчеты: Отчет1 — Отчет6.
Технология выполнения задания
1. Запустите программу Microsoft Access.
2. Откройте файл базы данных (Файл ► Открыть ► Кадры.mdb).
3. В окне Кадры: база данных откройте панель Запросы.
4. Создайте итоговый запрос Запрос16 в соответствии со следующими требованиями:
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос |
Запрос16 | Должность Оклад | Вычисляет среднее, наибольшее и наименьшее значение по полю Оклад для каждой должности |
· Для создания Запроса16 дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу. В окне Добавление таблицы выберите таблицу СОТРУДНИКИ.
· Включите в запрос поле Должность и трижды включите поле Оклад.
· На панели инструментов Microsoft Accessщелкните на кнопке Групповые операции или воспользуйтесь командой меню (Вид ► Групповые операции). Эта команда необходима для создания в нижней части бланка строки Групповые операции. Именно на ее базе и создаются итоговые вычисления. Все поля, отобранные для запроса, получают в этой строке значение Группировка.
· Для поля, по которому производится группировка записей (в нашем случае — Должность), оставьте в строке Групповые операции значение Группировка. Для остальных полей щелкните в этой строке — появится кнопка раскрывающегося списка, из которого можно выбрать итоговую функцию для расчета значений в данном поле.
· Для первого поля Оклад выберите итоговую функцию Avg для определения среднего значения оклада по каждой должности.
· Для второго поля Оклад выберите итоговую функцию Max, определяющую наибольшее значение оклада по каждой должности.
· Для третьего поля Оклад выберите итоговую функцию Min, определяющую наименьшее значение оклада по каждой должности.
· Закройте бланк запроса по образцу, присвоив запросу имя Запрос16.
5. Выполните запрос и убедитесь, что он правильно работает.
6. Создайте и выполните итоговые запросы Запрос17 — Запрос20:
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос |
Запрос17 | Город РазмерСуточных | Вычисляет среднее, наибольшее и наименьшее значение по полю РазмерСуточных для каждого города при поездках в командировки |
Запрос18 | КодСотрудника РазмерСуточных | Вычисляет среднее, наибольшее и наименьшее значение по полю РазмерСуточных для каждого сотрудника при поездках в командировки |
Запрос19 | Должность Оклад ДатаНазначения | Вычисляет среднее, наибольшее и наименьшее значение по полю Оклад для каждой должностидля сотрудников, назначенных на должность после 01.01.2005 |
Запрос20 | Должность Оклад КодСотрудника | Вычисляет среднее, наибольшее и наименьшее значение по полю Оклад для каждой должностидля сотрудников, для которых значение в поле КодСотрудника находится в диапазоне от 3 до 7 |
· При создания Запроса19 в строке Условие отбора для поля ДатаНазначения введите условие >01.01.2005
7. Создайте запрос на создание базовой таблицы Запрос21. В результате выполнения этого запроса в базе данных будет создана новая таблица АДРЕСА_СОТРУДНИКОВ.
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос |
Запрос21 | КодСотрудника Фамилия Имя Отчество Адрес Телефон | Создает новую базовую таблицу АДРЕСА_СОТРУДНИКОВ |
· Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу. В окне Добавление таблицы выберите таблицы СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ.
· Включите в запрос поля КодСотрудника, Фамилия, Имя, Отчество, Адрес, Телефон. Откройте список инструмента Тип запроса и выберите Создание таблицы.
· В открывшемся диалоговом окне Создание таблицы введите имя новой таблицы АДРЕСА_СОТРУДНИКОВ. Установите переключатель в текущей базе данных и нажмите OK.
· Закройте бланк запроса по образцу и присвойте ему имя Запрос21.
8. Выполните запрос. Ответьте «Да» на все выводимые программой вопросы.
9. Переключитесь в окне базы данных на панель Таблицы. В списке таблиц должна появиться новая таблица АДРЕСА_СОТРУДНИКОВ. Откройте таблицу АДРЕСА_СОТРУДНИКОВ, просмотрите ее содержимое.
10. Создайте и выполните запросы на создание таблиц Запрос22, Запрос23:
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос | |
Запрос22 | КодСотрудника Фамилия Имя Отчество Город ДатаОтъезда ДатаПриезда | Создает новую базовую таблицу КОМАНДИРОВКИ_СОТРУДНИКОВ | |
Запрос23 | Все поля таблицы СОТРУДНИКИ | Создает копию таблицы СОТРУДНИКИ с именем КОПИЯ_ СОТРУДНИКИ | |
11. Создайте Запрос24 (запрос на обновление данных) в соответствии со следующими требованиями:
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос | |
Запрос24 | Должность Оклад | Увеличивает на 20% значения в поле Оклад таблицы СОТРУДНИКИ для сотрудников, работающих в должности «инженер» | |
· Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу. В окне Добавление таблицы выберите таблицу СОТРУДНИКИ.
· Включите в запрос поля Оклад, Должность. Откройте список инструмента Тип запроса и выберите Обновление. В строке Условие отбора для поля Должность введите «инженер». В строке Обновление для поля Оклад введите [Оклад]*1,2
· Закройте бланк запроса по образцу и присвойте ему имя Запрос24.
12. Выполните запрос. Ответьте «Да» на все выводимые программой вопросы.
13. Переключитесь в окне базы данных на панель Таблицы. Откройте таблицу СОТРУДНИКИ. Убедитесь, что в строках, соответствующих должности «инженер», изменились значения окладов.
14. Создайте и выполните запросы на обновление данных Запрос25, Запрос26:
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос |
Запрос25 | Должность РазмерСуточных | Увеличивает на 10% значения в поле РазмерСуточных таблицы КОМАНДИРОВКИ для сотрудников, работающих в должности «менеджер» |
Запрос26 | Оклад ДатаНазначения | Увеличивает на 30% значения в поле Оклад таблицы СОТРУДНИКИ для сотрудников, назначенных на должность до 01.01.2000 |
15. Создайте Запрос27 (запрос на удаление данных) в соответствии со следующими требованиями:
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос |
Запрос27 | Поле ДатаНазначения из таблицы КОПИЯ_СОТРУДНИКИ | Удаляет из таблицы КОПИЯ_СОТРУДНИКИ записи, для которых значение в поле ДатаНазначения больше 01.01.2005 |
· Дважды щелкните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу. В окне Добавление таблицы выберите таблицу КОПИЯ_СОТРУДНИКИ.
· Выберите тип запроса Удаление. Переместите из списка полей таблицы КОПИЯ_СОТРУДНИКИ на бланке запроса символ «*» в первый столбец бланка. Включите в запрос поле ДатаНазначения. В строке Условие отбора введите >01.01.2005
· Закройте бланк запроса по образцу и дайте ему имя Запрос27.
16. Выполните запрос. Ответьте «Да» на все выводимые программой вопросы.
17. Переключитесь в окне базы данных на панель Таблицы. Откройте таблицу КОПИЯ_СОТРУДНИКИ. Убедитесь, что произошло удаление строк в соответствии с заданным условием.
18. Создайте и выполните запрос на удаление данных Запрос28:
Имя запроса | Включаемые в запрос поля | Какую задачу решает запрос | |
Запрос28 | Поле Должность из таблицы КОПИЯ_СОТРУДНИКИ | Удаляет из таблицы КОПИЯ_СОТРУДНИКИ записи, для которых значение в поле Должность равно «бухгалтер» или «менеджер» | |
19. Создайте отчет Отчет1 в соответствии со следующим заданием:
Имя отчета | Включаемые в отчет поля | Задание |
Отчет 1 | Все поля таблицы СОТРУДНИКИ | Создать Автоотчёт «в столбец» на базе таблицы СОТРУДНИКИ. |
· В окне Кадры: база данных откройте панель Отчеты. Щелкните кнопку Создать и выберите в открывшемся окне Автоотчет: в столбец.
· Выберите в качестве источника таблицу СОТРУДНИКИ и щелкните кнопку OK.
· Будет создан отчет следующего вида:
· Сохраните отчет с именем Отчет1.
20. Создайте аналогично Отчет2 в соответствии со следующим заданием:
Имя отчета | Включаемые в отчет поля | Задание |
Отчет 2 | Все поля запроса | Создать Автоотчёт «ленточный» на базе запроса Запрос1 |
21. Создайте Отчет3 в соответствии со следующим заданием:
Имя отчета | Включаемые в отчет поля | Задание |
Отчет 3 | Фамилия Имя Отчество Должность Город ДатаОтъезда ДатаПриезда | В режиме мастера отчетов создать отчет на базе таблиц СОТРУДНИКИ и КОМАНДИРОВКИ. Способ представления данных - по таблице КОМАНДИРОВКИ. Предусмотреть группировку по полю Город. |
· В окне Кадры: база данных на панели Отчеты дважды щелкните инструмент Создание отчета с помощью мастера. Выполните следующие шаги по созданию отчета:
1 шаг. Выбор способа создания отчета. | |
2 шаг. Выбор полей для включения в отчет. | |
3 шаг. Выбор вида представления данных. | |
4 шаг. Выбор поля, по которому выполняется группировка. | |
5 шаг. Выбор способа сортировки записей в каждой группе. | |
6 шаг. Выбор макета. | |
Внешний вид полученного отчета |
22. Аналогично создайте Отчет4 в соответствии со следующим заданием:
Имя отчета | Включаемые в отчет поля | Задание |
Отчет 4 | Фамилия Имя Отчество Должность Город ДатаОтъезда ДатаПриезда | В режиме мастера отчетов создать отчет на базе таблиц СОТРУДНИКИ и КОМАНДИРОВКИ. Способ представления данных – по таблице СОТРУДНИКИ. Предусмотреть группировку по полю Должность. |
23. Создайте Отчет5 в соответствии со следующим заданием:
Имя отчета | Включаемые в отчет поля | Задание |
Отчет 5 | КодСотрудника Фамилия Имя Отчество Должность Оклад | В режиме мастера отчетов создать отчет на базе таблицы СОТРУДНИКИ. Предусмотреть группировку по полю Должность и подведение итогов в поле Оклад по каждой должности (среднее значение, минимум, максимум) |
· Процедура создания отчета Отчет5 отличается от процедуры создания отчета Отчет4 выполнением шага 5. Для подведения итогов по полю Оклад в диалоговом окне следует щелкнуть кнопку Итоги…
5 шаг. Выбор способа сортировки записей в каждой группе и подведение итогов. |
· В результате должен получиться отчет вида:
24. Создайте аналогично Отчет6 в соответствии со следующим заданием:
Имя отчета | Включаемые в отчет поля | Задание |
Отчет 6 | КодСотрудника Город ДатаОтъезда ДатаПриезда РазмерСуточных | В режиме мастера отчетов создать отчет на базе таблицы КОМАНДИРОВКИ. Предусмотреть группировку по полю КодСотрудника и подведение итогов в поле РазмерСуточных (среднее значение, минимум, максимум) |
· В результате должен получиться отчет следующего вида:
25. Закройте все открытые объекты и завершите работу с программой Microsoft Access.