Виды запросов в Access
В лабораторной работе №3 "Запросы в Access" были рассмотрены Простой запрос, Запрос с параметром, запрос Повторяющиеся записи и запрос Записи без подчинения. Они являются достаточно простыми как по созданию, так и по выполняемым операциям. В MS Access также широко применяются более сложные виды запросов, к которым относятся Перекрёстный запрос и Запросы на изменение. Сложными также являются запросы, созданные по нескольким таблицам.
Перекрестный запрос отображает результаты статистических расчетов (таких, как суммы, количество записей, средние значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в левом столбце таблицы, во второй – в верхней строке. Например, если надо узнать средний стаж работы доцентов и профессоров на разных кафедрах (на основе таблицы Преподаватели), то используется перекрестный запрос, в котором заголовками строк будут служить должности, заголовками столбцов - названия кафедр, а в ячейках будут рассчитаны средние значения стажа преподавателей.
Запрос на изменение - это запрос, который за одну операцию вносит изменения в несколько записей. Существует четыре типа запросов на изменение: на удаление, обновление и добавление записей, а также на создание таблицы.
· Запрос на удаление удаляет группу записей ,удовлетворяющим заданным условиям, из одной или нескольких таблиц. С помощью запроса на удаление можно удалять только всю запись, а не отдельные поля внутри нее.
· Запрос на обновление записей вносит общие изменения в группу записей одной или нескольких таблиц. Например, если на10% увеличилась заработная плата сотрудников, то запрос на обновление может быстро внести эти изменения в таблицу Преподаватели.
· Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц.
· Например, появилось несколько новых преподавателей, а так же база данных, содержащая сведенияо них. Чтобы не вводить все данные вручную, их можно добавить в таблицуПреподаватели.
· Запрос на создание таблицы создает новую таблицу на основе всех или части данных на одной или нескольких таблиц. Например, на основе таблицы Преподаватели можно создать новую таблицу, содержащую данные только о профессорах.
Запрос SQL – это запрос, создаваемый при помощи инструкций SQL. Этот тип запросов довольно сложен для начинающих пользователей и используется обычно опытными пользователями,имеющими навыки программирования и общения с серверами баз данных, поэтому в работе не рассматривается.
2 Разработка запросов
2.1 Запрос с параметром по одной таблице.
Для создания запросов с параметром Должность тренера.
2.1.1 Сначала создаётся простой запрос:
§ Откройте вкладку Создание, щелкните по кнопке Мастер запросов;
§ В появившемся окне выберите Простой запрос и щелкните по кнопке OK;
§ В появившемся окне Создание простых запросов в строке Таблицы и запросы выберите из списка таблицу Тренеры;
§ Перенесите все поля из окна Доступные поля в окно Выбранные поля, щелкнув по кнопке [>>];
§ Нажмите кнопку Далее.
§ В появившемся окне введите имя запроса Должность;
§ Нажмите кнопку Готово. На экране появится таблица с данными запроса – полным списком тренеров (рисунок 5.1).
Рисунок 5.1 Простой запрос
2.1.2 Теперь на базе этого простого запроса нужно создать запрос с параметром Должность. Для этого перейдите в режим конструктора;
§ В строке Условия отбора для поля Должность введите фразу (квадратные скобки тоже вводить): [ Введите должность ] ;
§ Выполните запрос, щелкнув по кнопке [!] на панели инструментов;
§ В появившемся окне введите Тренер (можно со строчной буквы) и щелкните по кнопке ОК. На экране появится таблица с данными о всех тренерах таблицы Тренеры. Аналогично можно запросить вывод Старших тренеров и т.д.
§ Сохраните запрос и закройте таблицу запроса.
2.2 Запрос с параметром по нескольким таблицам.
Создадим запрос по таблицам Тренеры и Виды спорта, в котором по фамилии тренера и названию спортивной дисциплины можно определить его имя, отчество, должность и зарплату.
2.2.1 Сначала создаётся простой запрос по таблицам Тренеры и Виды спорта:
§ Выделив в окне БД объект Запросы, щелкните по кнопке Создать;
§ Выберите Простой запрос и щелкните по кнопке ОК;
§ Выберите таблицу Тренеры и перенесите поля Фамилия, Имя, Отчество, Должность, Зарплата в окно Выделенные поля.
§ Из таблицы Виды спорта перенесите поле Название дисциплины;
Тем самым сформировано шесть полей запроса - они связаны между собой посредством схемы данных;
§ Нажмите кнопку Далее, затем в следующем окне снова щелкните по кнопке Далее;
§ В появившемся окне введите имя запроса Фамилия-Дисциплина, затем щелкните в кружке Изменить макет запроса (в ней появится черная точка) - это позволит сразу перейти в режим конструктора;
§ Нажмите кнопку Готово;
2.2.2 Вводим параметры запроса:
§ В строке Условия отбора для поля Название дисциплины введите фразу: [Введите название дисциплины], для поля Фамилия – фразу [Введите фамилию] (скобки тоже вводить);
§ Выполните запрос через [!]);
§ В первом появившемся окне введите Бокс, щелкните по кнопке ОК, во втором – введите Лапин, щелкните по кнопке ОК. На экране появится таблица со строкой (табл. 5.1):
Таблица 5.1
Название дисциплины | Фамилия | Имя | Отчество | Должность | Зарплата |
Бокс | Лапин | Илья | Фомич | Старший тренер | 5890р. |
§ Сохраните запрос и закройте таблицу запроса.
2.3 Перекрестный запрос.
Создадим запрос о средней зарплате тренеров по дисциплинам. Такой запрос строится на основе одной таблицы или одного запроса, в связи чем надо сначала сформировать запрос, в котором были бы поля Должность, Название дисциплины и Зарплата.
2.3.1 Создаём простой запрос с этими полями из таблиц Виды спорта и Тренеры, вводим имя запроса Зарплата тренеров, сохраняем запрос и закрываем его таблицу – см. п. 2.1..
2.3.2 Создание перекрестного запроса. Для этого:
На вкладке Создание щелкните по кнопке Мастер запросов;
§ Выберите Перекрестный запрос и щелкните по кнопке ОК;
§ Выберите таблицу Тренеры и щелкните по кнопке Далее;
§ Для строк выберите (переведите вправо) поле Должность и щелкните по кнопке Далее;
§ Для столбцов выберите поле Фамилия, нажмите кнопку Далее;
§ Выберите функцию Среднее и щелкните по кнопке Далее;
§ Введите имя запроса Средняя зарплата и нажмите кнопку Готово. Откроется таблица перекрестного запроса. Обратите внимание на то, что Access создает еще итоговое значение средних оценок по дисциплинам;
§ Закройте таблицу запроса.
Запрос на удаление
Создать простой запрос на базе таблицы Спортсмены с полями Фамилия, Имя, Отчество, введите имя запроса Отчисление,
· Щелкните по ячейке Изменить макет запроса;
· Щелкните по кнопке Готово;
· В строке Условия отбора введите: в поле Фамилия – Киреев, в поле Отчество – Валерьевич;
· Откройте вкладку Конструктор и нажмите кнопку Удаление;
· Просмотрите удаляемую запись, щёлкнув по кнопке Режим и и перейдите в Режим таблицы;
· Если удаляемый преподаватель выбран правильно, то перейдите в режим Конструктор и выполните запрос кнопкой [!]. Если условия отбора сделаны неправильно, измените их;
· Закройте запрос;
· Откройте таблицу Спортсмены и удостоверьтесь в удалении всех полей записи о Кирееве;
· Закройте таблицу.
Дата добавления: 2019-09-30; просмотров: 588;