4. Практическое занятие № 2 Тема занятия: Работа с запросами на выборку в базе данных Microsoft Access
Цели занятия:
научиться создавать простые запросы на выборку и запросы с параметром;
научиться выполнять вычисления с помощью запросов.
Формулировка задания
Создать запросы на выборку: Запрос1 – Запрос8.
Создать запросы с параметром: Запрос9 – Запрос12.
Создать запросы с вычисляемыми полями: Запрос13 – Запрос15.
Технология выполнения задания
Запустите программу Microsoft Access.
Откройте файл базы данных (Файл ► Открыть ► Кадры.mdb).
В окне Кадры: база данных откройте панель Запросы.
Создайте Запрос1 в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос1
| КодСотрудника
Фамилия
Имя
Отчество
Должность
Оклад
| Выбирает из таблицы СОТРУДНИКИ информацию о сотрудниках, работающих в должности «менеджер». Выполняет сортировку записей по полю Фамилия по возрастанию.
| Для создания запроса Запрос1 дважды щелкните на значке Создание запроса в режиме Конструктора – откроется бланк запроса по образцу. Одновременно с ним откроется диалоговое окно Добавление таблицы.
В окне Добавление таблицы выберите таблицу СОТРУДНИКИ и щелкните на кнопке Добавить. Закройте окно Добавление таблицы.
В списке полей таблицы СОТРУДНИКИ выберите поля, включаемые в результирующую таблицу: КодСотрудника, Фамилия, Имя, Отчество, Должность, Оклад. Выбор производится двойным щелчком на имени поля.
Задайте условие отбора для поля Должность. В строку Условие отбора для поля Должность введите текст «менеджер».
Задайте условие сортировки по полю Фамилия, выбрав из списка в строке Сортировка значение по возрастанию.
Закройте бланк запроса по образцу. При закрытии запроса введите его имя – Запрос1.
В окне Кадры: база данных откройте только что созданный запрос, проанализируйте результирующую таблицу. Ее содержание зависит от того, что было введено в таблицу СОТРУДНИКИ при ее заполнении данными.
Создайте Запрос2 в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос2
| КодСотрудника
Фамилия
Имя
Отчество
Должность
ДатаНазначения
| Выбирает из таблицы СОТРУДНИКИ информацию о сотрудниках, работающих в должности «бухгалтер», фамилия которых начинается с буквы «И».
|
Выполните действия, аналогичные действиям пункта 4.
В условии отбора для поля Фамилия введите текст И* (без кавычек).
Создайте Запрос3 в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос3
| Фамилия
Имя
Отчество
Адрес
Телефон
ДатаРождения
| Выбирает из таблиц СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ информацию о сотрудниках, дата рождения которых находится в диапазоне от 01.01.80 до 31.12.89
|
В окне базы данных на панели Запросы дважды щелкните на значке Создание запроса в режиме Конструктора.
В окне Добавление таблицы выберите таблицы СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ.
Выберите поля, включаемые в запрос, и задайте условия отбора записей. В строке Условие отбора для поля ДатаРождения введите: Between 01.01.1980 And 31.12.1989. После завершения ввода условие примет вид: Between #01.01.1980# And #31.12.1989#
Закройте бланк запроса по образцу. При закрытии запроса введите его имя – Запрос3.
Выполните запрос (двойной щелчок на имени запроса в окне базы данных).
Создайте и выполните запросы Запрос4 – Запрос8 в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос4
| КодСотрудника
Фамилия
Имя
Отчество
Должность
Оклад
ДатаНазначения
| Выбирает из таблицы СОТРУДНИКИ информацию о сотрудниках, работающих в должности «бухгалтер» или «менеджер», имеющих оклад больше 5000 рублей, дата назначения которых на должность находится в диапазоне от 01.01.2005 до 31.12.2005
| Запрос5
| Фамилия
Имя
Отчество
Должность
Адрес
Телефон
ДатаРождения
| Выбирает из таблиц СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ информацию о сотрудниках, номера телефонов которых начинаются с цифры «2», родившихся до 01.01.80
| Запрос6
| КодСотрудника
Фамилия
Имя
Отчество
Должность
ДатаНазначения
| Выбирает из таблицы СОТРУДНИКИ информацию о сотрудниках, либо работающих в должности «менеджер», либо принятых на работу до 01.01.90, либо подпадающих под оба эти условия
| Запрос7
| Фамилия
Имя
Отчество
Должность
Город
ДатаОтъезда
ДатаПриезда
| Выбирает из таблиц СОТРУДНИКИ и КОМАНДИРОВКИ информацию о сотрудниках, работающих в должности «инженер» и выезжавших в командировку в город Москва
| Запрос8
| Фамилия
Имя
Отчество
Должность
Город
ДатаОтъезда
ДатаПриезда
| Выбирает из таблиц СОТРУДНИКИ и КОМАНДИРОВКИ информацию о сотрудниках, возвратившихся из командировки в город Самара в период с 01.01.06 по 01.07.06
|
Создайте Запрос9 (запрос с параметром) в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос9
| КодСотрудника
Фамилия
Имя
Отчество
Должность
ДатаНазначения
| Выбирает из таблицы СОТРУДНИКИ информацию о сотрудниках, работающих в некоторой должности, которые были приняты на работу в 2004 году. При этом конкретное значение должности вводится при выполнении запроса.
| В окне базы данных на панели Запросы дважды щелкните на значке Создание запроса в режиме Конструктора. В окне Добавление таблицы выберите таблицу СОТРУДНИКИ.
Выберите поля, включаемые в запрос, и задайте условия отбора записей. В строке Условие отбора для поля ДатаНазначения введите условие: Between 01.01.2004 And 31.12.2004. Для поля Должность введите условие на ввод параметра: [Введите название должности]
Закройте бланк запроса по образцу. При закрытии запроса введите его имя – Запрос9.
Выполните запрос. При выполнении откроется диалоговое окно для ввода значения параметра. Введите одно из названий должностей, которые есть в Вашей таблице СОТРУДНИКИ. Введенное значение будет использовано как критерий отбора записей из таблицы наряду с условием, введенным для поля ДатаНазначения.
Из таблицы СОТРУДНИКИ будут выбраны только те строки, в которых ДатаНазначения попадает в заданный диапазон значений и Должность совпадает с той, которую Вы ввели в диалоговом окне.
Создайте Запроса10 (запрос с параметром-диапазоном) в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос10
| Фамилия
Имя
Отчество
ДатаРождения
| Выбирает из таблиц СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ информацию о сотрудниках, родившихся в некоторый период времени. Нижняя и верхняя границы периода времени вводятся при выполнении запроса.
| Дважды щелкните на значке Создание запроса в режиме Конструктора. В окне Добавление таблицы выберите таблицы СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ.
Выберите поля, включаемые в запрос, и задайте условия отбора записей. В строке Условие отбора для поля ДатаРождения введите условие: Between [Нижняя граница] And [Верхняя граница]
Выполните запрос. При выполнении запроса сначала появится диалоговое окно для ввода нижней границы диапазона значений поля ДатаРождения, затем – для ввода верхней границы. Эти значения будут использованы для определения кодов сотрудников в таблице ЛИЧНЫЕ_ДАННЫЕ, даты рождения которых попадают в заданный диапазон. По этим кодам будут отбираться данные из таблицы СОТРУДНИКИ.
Создайте и выполните запросы Запрос11, Запрос12: Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос11
| КодСотрудника
Фамилия
Имя
Отчество
Город
ДатаОтъезда
ДатаПриезда
| Выбирает из таблиц СОТРУДНИКИ и КОМАНДИРОВКИ информацию о сотрудниках, которые были в командировке в некотором городе в 2004 году. Название города вводится при выполнении запроса.
| Запрос12
| КодСотрудника
Фамилия
Имя
Отчество
Должность
Оклад
| Выбирает из таблицы СОТРУДНИКИ информацию о сотрудниках, работающих в должности «менеджер» и имеющих Оклад в пределах некоторого диапазона. При этом конкретные значение границ диапазона вводятся при выполнении запроса.
| Создайте Запрос13 (запрос с вычисляемыми полями) в соответствии со следующими требованиями:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос13
| КодСотрудника
Фамилия
Имя
Отчество
Оклад
Налог
СуммаКвыдаче
| Вычисляет для каждого сотрудника Налог и СуммуКвыдаче по формулам:
Налог:[Оклад]*0,1
СуммаКвыдаче: [Оклад]-[Налог]
| В окне базы данных на панели Запросы дважды щелкните на значке Создание запроса в режиме Конструктора. В окне Добавление таблицы выберите таблицу СОТРУДНИКИ.
Выберите поля, включаемые в запрос. В новом поле бланка запроса в строке Поле введите формулу Налог:[Оклад]*0,1. В следующем поле введите формулу СуммаКвыдаче: [Оклад]-[Налог]
Откройте правой кнопкой мыши контекстное меню для формулы вычисления налога и выберите пункт Свойства. В окне Свойства поля выберите формат поля Денежный.
Аналогично отформатируйте поле СуммаКвыдаче.
Выполните запрос.
Создайте и выполните запросы Запрос14, Запрос15:
Имя запроса
| Включаемые в запрос поля
| Какую задачу решает запрос
| Запрос14
| КодСотрудника
Фамилия
Имя
Отчество
Город
ДатаОтъезда
ДатаПриезда СуммаКомандировочных
| Вычисляет для каждого из сотрудников, ездивших в командировки, размер командировочных расходов по формуле:
СуммаКомандировочных: [РазмерСуточных] * ([ДатаПриезда]-[ДатаОтъезда])
| Запрос15
| КодСотрудника
Фамилия
Имя
Отчество
Должность
Оклад
Премия
| Вычисляет для сотрудников, работающих в должности «менеджер», размер премии по формуле:
Премия: [Оклад]*0,5
|
Закройте все открытые объекты и завершите работу с программой Microsoft Access.
Итоги занятия
Вы научились создавать запросы на выборку, запросы с параметром и запросы с вычисляемыми полями. Теперь Ваша база данных содержит базовые таблицы, формы для ввода и просмотра данных и запросы на выборку данных.
|