Использование запросов. Создание простого запроса с помощью мастера и конструктора. Условия отбора. Запрос с параметрами.
Запросы в Access служат для обеспечения простого доступа к определенному подмножеству полей и записей одной или более таблиц.
Для определения результирующих данных запроса задаются условия отбора. При выполнении запроса на выборку его результаты отражаются в форме динамического набора, т.е. таблицы, содержащей только удовлетворяющим этим условиям сведения из базы данных. При сохранении запроса сохраняется только его структура.
Чтобы создать новый запрос, необходимо на вкладке Запросы нажать на кнопку Создать, и в появившемся диалоговом окне Новый Запрос выбрать способ создания запроса:
- Конструктор
- Простой запрос - создание простого запроса на основе выбранных полей;
- Перекрестный запрос – создание запроса, данные в котором имеют компактный формат, подобный формату представления данных в электронных таблицах;
- Повторяющиеся записи – создание запроса, выбирающего повторяющиеся записи из таблицы или простого запроса;
- Записи без подчиненных – создание запроса, выбирающего из таблицы записи, не связанные с записями из другой таблицы.
Выбрать способ создания запроса. Диалоговое окно Добавление таблицы состоит из трех вкладок: Таблицы, Запросы и Таблицы и запросы. На нужной вкладке выбрать необходимую таблицу или запрос и нажать на кнопку Добавить.
Окно Конструктора запросов разделено на две панели:
- Верхняя содержит схему данных запроса, который включает все выбранные в качестве источника создаваемого запроса таблицы и запросы.
- Нижняя панель является бланком запроса по образцу, который необходимо заполнить.
Каждому полю в документе соответствует один столбец в бланке запроса, для него в бланке запроса предусмотрены следующие строки:
- Поля – указывает имя поля, участвующее в запросе
- Имя таблицы – указывает, какой таблице принадлежит поле, участвующее в запросе
- Сортировка – позволяет отсортировать результирующие записи запроса
- Вывод на экран – позволяет управлять отображением поля. Чтобы поле отображалось, должен быть флажок
- Условия отбора – условия отбора записей.
Добавить нужные поля в бланк запроса можно:
- путем перетаскивания их имен из списка, находящегося в верхней части окна конструктора, в строку бланка Поле.
- еще один способ – двойной щелчок на имени поля.
- Маркировать имена необходимых полей, удерживая нажатой клавишу [Ctrl].
Если необходимо в запрос включить все поля таблицы, то необходимо выполнить следующие действия:
- Маркировать все поля, выполнив двойной щелчок на строке заголовка таблицы в верхней части окна конструктора запроса, и перетащить их в первую строку бланка запроса.
- Маркировать символ * в списке полей таблицы и перетащить его в бланк запроса.
Для удаления поля из бланка запроса необходимо маркировать колонку, в которой оно находится, и нажать клавишу Delete или активизировать в меню Правка команду Удалить столбцы.
Войдите в Microsoft Access и создайте базу данных Студент в своей папке.
Две таблицы:
Таблица Сведения
Поля :Семейное положение и что окончил, пол, используя мастер подстановок
Номер зачетки |
ФИО студента |
Дата рождения |
Семейное положение |
Что окончил |
Пол |
980101 |
Иванов |
02.02.80 |
Холост |
Школа |
Мужской |
980102 |
Петров |
05.08.81 |
Холост |
Школа |
Мужской |
980103 |
Сидоров |
08.05.77 |
Женат |
Техникум |
Мужской |
980104 |
Макаров |
25.05.78 |
Женат |
ПТУ |
Мужской |
980201 |
Ильина |
04.09.79 |
Замужем |
Школа |
Женский |
980202 |
Брель |
13.08.81 |
Незамужем |
Школа |
Женский |
980203 |
Гиль |
07.07.78 |
Холост |
Техникум |
Мужской |
980204 |
Сокол |
05.07.80 |
Холост |
Школа |
Мужской |
Таблица Успеваемость
Поле Группа содержит двухстолбцовый список
Б-1 |
Банковское дело |
Б-2 |
Банковское дело |
П-1 |
Программное обеспечение |
П-2 |
Программное обеспечение |
С-1 |
Страховое дело |
С-2 |
Страховое дело |
ФИО |
Группа |
Оценка по информатике |
Оценка по математике |
||
Иванов |
П-1 |
4 |
7 |
||
Петров |
С-1 |
3 |
6 |
||
Сидоров |
Б-2 |
6 |
8 |
||
Макаров |
П-2 |
7 |
8 |
||
Ильина |
Б-2 |
8 |
6 |
||
Брель |
П-1 |
5 |
8 |
||
Гиль |
С-1 |
4 |
2 |
||
Сокол |
С-2 |
10 |
9 |
Запрос на вывод только нужных полей.
Задание1. Вывести из БД сведения и ФИО и номерах зачеток всех студентов.
- Создайте новый запрос в режиме конструктора.
- В окне Добавление запроса добавьте таблицу Сведения.
- Переместите поля ФИО и Номер зачетки из списка полей в бланк запроса.
- Выполните запрос (пункт меню Запрос → Запуск) и сохраните его с именем Сведения об учащихся.
Запрос с применением сортировки.
Задание 2. Вывести из БД сведения о дате рождения и семейном положении студентов. ФИО отсортировать в алфавитном порядке. Для этого:
- Создайте новый запрос в режиме конструктора.
- В бланк запроса добавьте поля ФИО, Дата рождения и Семейное положение.
- В строке Сортировка для поля ФИО необходимо нажать на стрелку в этой строке и выбрать тип сортировки – по возрастанию.
- Выполните запрос и сохраните его с именем Семейное положение.
Запрос на основе нескольких таблиц.
Задание 3. Вывести из БД сведения об оценках всех студентов. В запросе должна быть следующая структура:
Группа |
ФИО студента |
Оценка по математике |
Оценка по информатике |
- Создайте новый запрос в режиме конструктора.
- Добавьте в запрос таблицы Сведения и Успеваемость.
Обратите внимание, что в схеме запроса автоматически отображается связь.
- В бланк запроса поместите поля: Группа, ФИО студента, Оценка по математике, Оценка по информатике.
- Выполните запрос.
- Закройте запрос и сохраните его с именем Оценки.
Запрос выбора с условиями отбора.
Условия отбора:
- Простой критерий выборки. Записи выбираются по совпадающим значениям поля. Например, из поля Город необходимо выбрать значения Минск. Для этого в бланке запроса в строке Условие отбора в поле Город вводится значение “Минск”.
- Точное несовпадение значений одного поля. Из базы выбираются все записи, кроме тех, для которых задано условие. Например, из поля Город необходимо выбрать все записи, кроме тех, которые имеют значение Минск. Для этого в бланке запроса в строке Условие отбора в поле Город вводится значение Not“Минск”.
- Выбор по диапазону значений. Для задания диапазона используются операторы: <, >, >=, <=, BETWEEN … AND… , AND, OR.
Задание 4. Вывести из БД сведения о студентах, имеющих оценку 5 по информатике. Должны присутствовать поля ФИО, Группа, Оценка по информатике. Для этого:
- Создайте новый запрос в режиме конструктора.
- Добавьте в запрос таблицы Сведения и Успеваемость.
- В бланк запроса поместите поля: Группа, ФИО студента, Оценка по информатике.
- Для поля Оценка по информатике в строке Условия отбора наберите число 5.
- Выполните запрос.
- Закройте запрос и сохраните его с именем Оценка по информатике.
Задание 5. Вывести из БД сведения об успеваемости студентов группы П-1. Должны присутствовать поля ФИО, Оценка по математике, Оценка по информатике.
- Создайте новый запрос в режиме конструктора.
- Добавьте в запрос таблицы Сведения и Успеваемость.
- В бланк запроса поместите поля: ФИО студента, Оценка по математике, Оценка по информатике.
- Для поля Группа в строке Условия отбора наберите П-1 и отключите флажок Вывода на экран, так как это поле не должно отражаться в результате запроса.
- Выполните запрос.
- Закройте запрос и сохраните его с именем Успеваемость группы П-1.
Задание 6. Вывести из БД сведения о семейных студентах. Должны содержаться поля ФИО и Семейное положение.
- Создайте новый запрос в режиме конструктора.
- Добавьте в запрос таблицу Сведения.
- В бланк запроса поместите поля: ФИО студента, Семейное положение.
- Для поля Семейное положение в строке Условия отбора набираем Женат OR Замужем.
- Выполните запрос.
- Закройте запрос и сохраните его с именем Семейные студенты.
Задание 7. Вывести из базы данных сведение о студентах-юношах 1981 года рождения.
- Создайте новый запрос в режиме конструктора.
- Добавьте в запрос таблицу Сведения.
- В бланк запроса поместите поля: ФИО студента, Пол, Дата рождения.
- Для поля Пол в строке Условия отбора наберите Мужской.
- Для поля Дата рождения в строке Условия отбора наберите
>=01.01.81 AND <= 31.12.81 или
BETWEEN 01.01.81 AND 31.12.81
- Выполните запрос.
- Закройте запрос и сохраните его с именем Студенты-юноши.
Запрос с вычисляемыми полями.
Для создания вычисляемого поля в пустую клетку строки Поле вводят имя поля с двоеточием, а затем формулу для расчета значений поля, причем каждое поле пишется точно так же, как и в таблице и берется в квадратные скобки.
Задание 8. Вывести из БД сведения об оценках студентов и посчитать средний балл для каждого студента.
- Создайте новый запрос в режиме конструктора.
- Добавьте в запрос таблицы Сведения и Успеваемость.
- В бланк запроса поместите поля: ФИО студента, Оценка по математике, Оценка по информатике.
- Создайте новое вычисляемое поле Средний балл. Для этого в пустом столбце наберите Средний балл: ([Оценка по математике]+[Оценка по информатике])/2
- Выполните запрос.
- Закройте запрос и сохраните его с именем Средний балл.
Параметрический запрос
Задание 9. Вывести из базы данных сведения об успеваемости студентов любой группы. Должна быть следующая структура:
ФИО |
Группа |
Оценка по математике |
Оценка по информатике |
- Создайте новый запрос в режиме конструктора.
- Добавьте в запрос таблицы Сведения и Успеваемость.
- В бланк запроса поместите поля: ФИО студента, Группа, Оценка по математике и Оценка по информатике.
- В строке Условия отбора поля Группа наберите текст [Ведите номер группы] в квадратных скобках.
- При выполнении запроса введите номер группы. Выполните запрос несколько раз.
- Закройте запрос и сохраните его с именем Оценки по группам.
Индивидуальные задания
Вариант 1
Создайте базу данных Студент в своей папке.
1. Вывести из базы данных «Студент» сведения об учащихся по группам, имеющих по информатике оценку «3» и по математике оценку «4».
В результате выполнения запроса должны присутствовать поля: ФИО студента, Курс, Группа, Оценка по математике, Оценка по информатике.
Сохранить запрос с именем Задание №1.
2. Вывести из базы данных «Студент» сведения о студентах-девушках, которые родились во втором квартале 1981 года. Дату рождения отсортировать в порядке «от большего к меньшему».
В результате выполнения запроса должны присутствовать поля: ФИО студента, Номер зачетки, Дата рождения, Группа.
Сохранить запрос с именем Задание №2.
3. Вывести из базы данных «Студент» сведения о тех студентах, которые имеют номер зачетной книжки в диапазоне 980201 – 980204 и поступили в техникум после окончания школы.
В результате выполнения запрос должен иметь следующую структуру:
Номер зачетки |
ФИО студента |
Группа |
Курс |
Сохранить запрос с именем Задание №3.
4. Создать запрос для просмотра всех сведений о студентах в зависимости от пола. В результате выполнения запрос должен иметь следующую структуру:
Номер зачетки |
ФИО студента |
Дата рождения |
Курс |
Группа |
Семейное положение |
Сохранить запрос с именем Задание №4.
5. Вывести из базы данных «Студент» сведения об оценках студентов и посчитать их рейтинг в порядке возрастания.
( Рейтинг = Оценка по математике + Оценка по информатике).
Сохранить запрос с именем Задание №5.
Вариант 2
Откройте базу данных Студент из своей папки.
1. Вывести из базы данных «Студент» сведения о тех студентах, которые являются отличниками по обеим дисциплинам.
В результате выполнения в запросе должны присутствовать поля: ФИО студента, Курс, Семейное положение, Оценка по математике, Оценка по информатике. Сохранить запрос с именем Задание №1.
2. Вывести из базы данных «Студент» сведения о незамужних студентах-девушках, которые родились в третьем квартале 1981 года.
В результате выполнения запроса должны присутствовать поля: ФИО студента, Номер зачетки, Семейное положение, Дата рождения, Группа.
Сохранить запрос с именем Задание №2.
3. Вывести из базы данных «Студент» сведения о тех студентах, которые имеют номер зачетной книжки в диапазоне 980101 – 980104 и поступили в техникум после окончания ПТУ. ФИО студента отсортировать в алфавитном порядке.
В результате выполнения запрос должен иметь следующую структуру:
ФИО студента |
Номер зачетки |
Группа |
Пол |
Курс |
Сохранить запрос с именем Задание №3.
4. Создать запрос для просмотра всех сведений о студентах в зависимости от того, какое учебное заведение они закончили. В результате выполнения запрос должен иметь следующую структуру:
Номер зачетки |
ФИО студента |
Дата рождения |
Курс |
Группа |
Семейное положение |
Сохранить запрос с именем Задание №4.
5. Вывести из базы данных «Студент» сведения об оценках студентов и посчитать отношение среднего балла к общему баллу.
( Общий балл = Оценка по математике + Оценка по информатике).
Сохранить запрос с именем Задание №5.
Вариант 3
Откройте базу данных Студент из своей папки.
1. Вывести из базы данных «Студент» сведения о тех студентах, которые имеют оценки «2» и «3» по обеим дисциплинам.
В результате выполнения в запросе должны присутствовать поля: ФИО студента, Номер зачетки, Оценка по математике, Оценка по информатике.
Сохранить запрос с именем Задание №1.
2. Вывести из базы данных «Студент» сведения о студентах-юношах, которые родились во втором квартале 1978 года.
В результате выполнения запроса должны присутствовать поля: ФИО студента, Дата рождения, Группа, Курс. Сохранить запрос с именем Задание №2.
3. Вывести из базы данных «Студент» сведения о тех студентах, которые имеют номер зачетной книжки в диапазоне 980301 – 980302 и поступили в техникум, не имея своей семьи.
В результате выполнения запрос должен иметь следующую структуру:
ФИО студента |
Номер зачетки |
Группа |
Пол |
Курс |
Сохранить запрос с именем Задание №3.
4. Создать запрос для просмотра всех сведений о студентах в зависимости от семейного положения. Отсортировать результат выполнения запроса по дате рождения в порядке возрастания. В результате выполнения запрос должен иметь следующую структуру:
Номер зачетки |
ФИО студента |
Дата рождения |
Курс |
Группа |
Пол |
Сохранить запрос с именем Задание №4.
5. Вывести из базы данных «Студент» сведения об оценках студентов и посчитать уровень успеваемости учащихся.
Уровень успеваемости = (Оценка по математике + Оценка по информатике)/10.
Сохранить запрос с именем Задание №5.