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