Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по БД+Практические Студентам.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2.46 Mб
Скачать

3.3 Фильтры

Фильтры позволяют вывести на экран только те записи, которые удовлетворяют определенному условию, а остальные записи на время скрыть. Например, в таблице Получает можно вывести только оценки по заданному предмету или за заданный период.

3.3.1 Фильтр по выделенному

Фильтр выделяет из таблицы те записи, которые соответствуют некоторому заданному критерию отбора. Чтобы отфильтровать данные в таблице, проделаем следующее:

Откроем таблицу Получает, щелкнем мышкой в любой ячейке того столбца, по которому будет выполняться фильтрация, например, по столбцу Предмет. Находим в столбце ту запись, по которой будет выполняться фильтрация, например Информатика, и выделяем ее. Затем нажимаем кнопку Фильтр по выделенному (рис.3.1) – на экране останутся только те записи, которые соответствуют заданному критерию (рис.3.3):

Рис. 3.3

3.3.2 Расширенный фильтр

Д ля построения расширенного фильтра используется конструктор. Чтобы его вызвать выполним команды: Записи Фильтр Расширенный фильтр

В первой ячейке первого столбца выбираем из списка имя поля, по которому будет проводиться фильтрация (Рис.3.5). Для сортировки данных в поле Сортировка можно задать соответствующее значение. В поле Условие отбора вводим значение, например <=4. Дополнительно можно установить фильтр и для другого поля (Период: 1 семестр). После введения условия отбора, нажмем на ПИ Фильтр - Применить фильтр.

В таблице будут выведены только те записи, которые удовлетворяют условию фильтра (рис.3.6).

Рис. 3.6

Рис. 3.5

4. Запросы

Запросы позволяют извлекать данные из таблицы. Выполнение запроса во многом напоминает задание вопроса таблице базы данных. Например, какие оценки получили студенты группы 1ОТ по информатике за 1 семестр? У какого куратора студенты получили двойки в семестре?

В отличие от фильтров, запросы позволяют извлекать данные сразу из нескольких таблиц БД. Кроме того, результат работы запроса сохраняется в специальном объекте БД – запросе.

4.1 Основные виды запросов

  1. Выборка. Это наиболее широко распространенный вид запросов. Он позволяет извлекать данные (делать выборку) из нескольких таблиц, создавать новые поля с помощью расчетов.

  2. Создание таблицы. Этот запрос позволяет создавать новую таблицу на основе данных из существующих таблиц.

  3. Запрос на обновление. Вносит глобальные изменения во все данные БД.

  4. Запрос на добавление. Позволяет отбирать группы записей из одной таблицы и вносить их в конец другой таблицы.

  5. Запрос на удаление. Удаляет записи из таблицы.

  6. Перекрестный запрос. Группирует записи из нескольких таблиц в таблицу с суммарной информацией. Обычно эти запросы используют для сравнения значений.

4.2 Создание простых запросов

Запросы можно создавать двумя способами: Создание запроса в режиме конструктора и Создание запроса с помощью мастера. Оба эти способа достаточно удобны и функциональны. Для создания запроса нужно в главном окне БД перейти на вкладку Запросы (рис.4.1) и выбрать нужный способ создания запроса.

Для начала создадим запрос на основе одной таблицы Студенты. На вкладке Запросы выберем Создание запроса с помощью мастера. В открывшемся окне (рис.4.2) в списке таблиц выберем Студенты. В окошко Выбранные поля перенесем Фамилия, Имя, Группа и Дата_рождения. В следующем окне запишем имя запроса – Студенты Запрос и нажмем Готово.

Рис. 4.1 Рис. 4.2

Откроется этот запрос (рис.4.3).

Рис. 4.3

О н выглядит как укороченная таблица (без полей №_студента, Отчество, Адрес и Телефон) и содержит все записи этой таблицы. Для того, чтобы установить какие-то условия отбора записей нужно перейти в конструктор запроса. Для этого нажмем кнопку Вид

Откроется окно Конструктора запроса (рис.4.4)

Рис.4.4

В верхней части окна содержится миниатюра таблицы Студенты. Если мы строим запрос по нескольким таблицам, то там должны находиться миниатюры этих нескольких таблиц.

Н ижняя часть окна называется Бланк запроса. Тут мы можем формировать условия отбора записей. Давайте выведем сведения только о тех учениках, которых зовут Ольга или Игорь. Для этого в столбце Имя в строке Условие отбора напишем имя Ольга, а в строке Или – Игорь. Кавычки Access поставит сам (рис 4.5). После этого нужно нажать на кнопку Выполнить (!). получим результат работы запроса (рис.4.6)

Рис. 4.6

Рис. 4.5

Теперь опять перейдем в Конструктор этого запроса и изменим его. Удалим имена учеников, а в поле Группа в строке Условие отбора запишем [Укажите группу] – это у нас пояснительная фраза для параметра запроса. Эту фразу необходимо писать в квадратных скобках (рис.4.7) Запустим запрос на выполнение. На экране появиться окошко (рис.4.8), в котором нужно написать группу. Например, 1КСС и нажать ОК. Получим результат работы запроса (рис.4.9).

Рис. 4.8

Рис. 4.7

Рис. 4.9

Таким образом, мы построили запрос с параметром. Если вы закроете его и вновь откроете на вкладке Запросы главного окна БД, то Access попросит вас ввести параметр запроса. В данном случае нужно указать название какой-либо группы, которая есть у вас в таблице. Переименуем этот запрос в «Студенты определенной группы».

Теперь усложним задачу и построим запрос по нескольким таблицам. Создадим запрос «Оценки по информатике за 1 семестр». На вкладке Запросы выбираем Построение запроса в режиме конструктора.

Откроется окно Конструктора запроса и окно Добавление таблицы (рис.4.10). В этом окне выбираем таблицы Студенты, Предмет и Получает. Эти таблицы появятся в верхней части конструктора запросов. Теперь нужно перенести в бланк запроса нужные поля из таблиц. Сделать это можно двумя способами.

1 способ – просто перетащить нужное поле из таблицы в первую строку столбца.

2 способ – в столбце бланка запроса в строке Таблица выбрать таблицу, затем в строке Поле выбрать поле из этой таблицы (рис. 4.11).

Рис. 4.10 Рис. 4.11

В бланк запроса перенесем такие поля:

  • Фамилия и Группа из таблицы Студенты,

  • Название из таблицы Предмет,

  • Период и Оценка из таблицы Получает.

Теперь в строку Условие отбора для столбца Название введем слово Информатика, а для столбца Период – 1 семестр. В строке Сортировка для столбца Фамилия выберем По возрастанию и запустим запрос на выполнение. Должен получиться такой результат (рис.4.12):

Рис. 4.12