Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_лекций_2010_год_информатика.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

8.9.5. Сортировка и фильтрация данных

На вкладке Главная имеется панель Сортировка и фильтр (рис.8.28), кнопки которой позволяют выполнить в текущей таблице операции сортировки и фильтрации записей.

Рис.8.28 Панель инструментов для сортировки и фильтрации данных

Сортировка данных

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

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

Фильтрация данных

Фильтр представляет собой набор условий, применяемых для отбора подмножества записей. Операция фильтрации осуществляется в режиме открытой таблицы. Результатом фильтрации является «показ» (отображение в открытой таблице или форме) только отфильтрованных записей с временным «скрытием» всех остальных записей. При этом остальные записи физически никуда не перемещаются, не удаляются и вновь отображаются в открытой таблице после «снятия» фильтра.

Набор условий, определяющих фильтр, представляет выражение. Под выражением понимается структура, подобная обычному математическому выражению. Аргументами выражения могут быть числа, дата, текст, имена полей, которые соединяются знаками математических операций, неравенств (+, -, /, >, <, =) и логических операций (AND, OR, NOT). При этом текстовые значения и аргументы заключаются в кавычки («Иванов»), даты в символы # (#01.01.98#).

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

Чтобы изменить режим фильтрации нужно воспользоваться кнопкой Дополнительно, которая позволяет изменить фильтр текущего поля или удалить все фильтры таблицы.

8.9.6. Запросы

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

В Access параллельно используются два языка для создания запросов:

  1. Графический язык (позволяет создавать запросы по образцу) QBE (Query By Example);

  2. Структурированный язык запросов SQL (Structured Query Language).

Запрос по образцу формируется путем заполнения бланка в окне Конструктора запросов (см. рис.8.29).

Рис. 8.29 Создание запросов по образцу

SQL запросы составляются из последовательности SQL- инструкций, которые задают, что надо делать с входным набором данных для генерации выходного набора (см. рис.8.30). Работа с SQL запросами рассчитана на специалиста-программиста. Пользователю не приходится, как правило, обращаться к языку SQL напрямую.

Рис. 8.30 Создание запроса с помощью языка SQL

Пользователь Access создает запрос, используя бланк QBE. При этом система автоматически переводит выражения, содержащиеся в бланке запроса по образцу, в последовательность инструкций языка SQL. Пользователь может просматривать текст SQL и редактировать его в «окне SQL».

В Access запрос можно открыть в трех режимах:

  1. Режим Конструктора открывает бланк QBE для создания запроса;

  2. Режим SQL открывает «Окно SQL», в котором содержится текст инструкции SQL;

  3. Режим таблицы открывает результат выполнения запроса. Access размещает результат действия запроса в динамическую таблицу, структура которой сохраняется в файле БД.

Создание запросов с использованием графического языка

Для того чтобы создать запрос с «нуля» нужно выбрать режим Конструктор для этого нажать кнопку Конструктор запросов на панели Другие вкладки Создание. Появится диалоговое окно Добавление таблицы. Выбрать таблицы, из которых будут выбираться данные. Access размещает списки полей отобранных таблиц в верхней части бланка Запроса на выборку и указывает связи между ними с указанием мощности отношений (см рис. 8.31).

Рис.8.31 Бланк запроса по образцу

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

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

Строка Имя таблицы заполняется автоматически при перетаскивании поля.

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

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

В строке Условие отбора записываются критерии, по которым выбираются записи для включения в результирующую таблицу. По каждому полю можно создать свое условие отбора.

Запуск запроса в режиме Конструктора выполняется щелчком на кнопке Режим или Выполнить панели Результаты . При запуске запроса образуется результирующая таблица. Чтобы выйти из результирующей таблицы и вернуться к созданию запроса в бланке запроса по образцу, нужно еще раз щелкнуть на кнопке Режим.

Если режим Конструктора закрыт, то запуск запроса выполняется двойным щелчком по его имени, расположенном в Области переходов.

Указание критериев отбора

Строка «Условие отбора» Бланка Запроса позволяет включать в результаты запроса только те записи, которые удовлетворяют определенным условиям. Используются следующие типы условий:

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

Пример: NOT 102, NOT «Процессор»

2. Выбор записей при условии неточного совпадения условий поиска. Если вы не помните точного написания условий поиска, следует использовать оператор LIKE (похожий). Пример, LIKE “Во*” В кавычках указывается образ.

Символ в образе:

? – любой один текстовый символ;

* - вместо любого количества символов;

# - любая одна цифра;

[список знаков] – любой один знак в списке знаков.

Если в поле Фамилия указан критерий отбора записей LIKE “[А-Д]*” , то результатом будут записи с фамилиями на букву А, Б, В, Г, Д.

Если в поле Товар задано условие LIKE “[БД]*”, то результатом будут записи с товаром на букву Б, а потом на букву Д.

Для вывода информации о студентах, имеющих в фамилии вторую букву А следует для поля Фамилия задать выражение – Like “?a*”

3. Множественные критерии. Используются логические операторы для составления сложного критерия внутри одного и того же поля: AND, OR, NOT, BETWEEN. Пример:

Выбрать записи о студентах с фамилиями от К до Н и оценками по Excel 4 и 5

Фамилия Excel

Условие отбора LIKE “[К-Н]*” 4 OR 5

Для вывода фамилий студентов с ростами в интервале от 160 см до 170 см нужно задать по полю Рост следующее условие:

  1. с использованием символов отношений “<”, “<”

>=160 AND <=170

  1. Без использования указанных символов

Between 160 and 170

Для вывода фамилий студентов, у которых фамилии начинаются, заканчиваются или содержат букву Р следует задать по полю Фамилия выражение Like “P*” OR Like “*р” OR Like “*р*”.

Все запросы к БД можно поделить на две группы:

  1. Запросы, которые не изменяют содержимое базовых таблиц. Их результатом является временная таблица.

  2. Запросы, изменяющие содержимое базовых таблиц.

Рассмотрим запросы, которые не изменяют содержимое базовых таблиц.

Запрос на выборку отображает данные из одной или нескольких таблиц в виде таблицы (см. рис.8.32).

Рис. 8.32 Запрос на выборку

Запрос с параметром - это запрос, свойства которого изменяются пользователем при каждом запуске. Для этого в строке Условие отбора и в том поле, по которому производится выбор, вводится любой текст, обращенный к пользователю, заключенный в квадратные скобки (см. рис.8.33).

Рис.8.33 Запрос с параметром

Например, для получения списка студентов нужной учебной группы следует в строке Условие отбора ввести следующее приглашение - [Введите номер группы]. После запуска запроса открывается диалоговое окно, в котором пользователю предлагается ввести конкретный номер (см. рис.8.34).

Рис. 8.34 Диалоговое окно для ввода значения параметра

При создании запросов часто возникает необходимость не только использовать имеющиеся поля таблиц, но и создавать на их основе другие поля, называемые вычисляемыми.

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

Новое вычисляемое поле создается в Бланке Запросов по образцу. Выражение, результаты которого запишутся в вычисляемое поле, вводится в пустую ячейку бланка, расположенную на пересечении строки Поле и пустого столбца (см. рис.8.35). Содержание выражения создается с помощью средства «Построитель выражений», который предназначен для составления математических, логических, и других выражений.

Рис. 8.35 Вычисление средней оценки по четырем предметам

Окно «Построителя выражений» вызывается одним из следующих способов:

а) нажать кнопку «Построить» на панели инструментов;

б) в открытом окне Конструктора щелкнуть правой кнопкой мыши строку «Условие отбора» и выбрать команду «Построитель».

Окно «Построителя выражений» включает четыре области с собственными полосами прокрутки (см. рис.8.36).

Рис.8.36 Диалоговое окно Построителя выражений

Поиск нужных элементов начинается с левой области. Списки объектов в левой, средней и правой областях имеют иерархическое подчинение.

Последовательность вставки элемента выражения в верхнее поле:

  1. В левой области выбрать необходимую папку и открыть ее для выбора нужного объекта;

  2. Выбрать объект;

  3. Последовательно в средней и правой областях выбрать нужный элемент и перенести его в поле ввода выражения кнопкой Вставить;

  4. Щелкнуть нужный оператор;

  5. После окончания формирования выражения нажать ОК.

Пример, таблица Личные данные включает следующие поля: Математика, Информатика, Физика, Химия. Необходимо подсчитать для каждого студента среднюю оценку по четырем экзаменам. Для записи выражения надо:

  1. Дважды щелкнуть вкладку Таблицы в окне Построитель выражений. Откроется перечень таблиц, выбрать нужную таблицу – Личные данные;

  2. В соседнем окне появится перечень полей выбранной таблицы. Для получения вычисляемого поля Средняя оценка надо сложить поля Математика, Информатика, Физика, Химия и поделить на четыре (см. рис.8.36).

  3. Нажать OK.

  4. Запустить запрос на выполнение.

Итоговые запросы

Запросы позволяют не только отбирать нужную информацию из таблиц и обрабатывать путем создания (новых) вычисляемых полей, но и производить так называемые итоговые вычисления. Можно выполнять следующие типы расчетов:

Sum – сумма в группе записей;

Avg – среднее значение для группы записей;

Min – минимальное значение в группе записей;

Max – максимальное значение в группе записей;

Count – подсчет числа значений в группе записей.

Итоговые функции для одной записи не имеют смысла и существуют только для групп записей, которые предварительно надо сгруппировать по какому-либо признаку. Итоговые запросы создаются на основе бланка запроса, только теперь там должна появиться дополнительная строка – Групповая операция (см рис.8.37).

Рис. 8.37 Вид бланка запроса при создании итогового запроса

Для появления дополнительной строки необходимо щелкнуть на кнопке Итоги на панели инструментов Показать или скрыть . В тех полях, по которым производится группировка, надо оставить функцию Группировка. В тех же полях, по которым следует провести итоговое вычисление, надо в строке Групповая операция раскрыть список и выбрать нужную функцию (см. рис.8.38).

Рис. 8.38 Список доступных итоговых функций

Перекрестные запросы. Используются для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее, число значений и т.д. после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк.

Создается перекрестный запрос с помощью Мастера или в режиме Конструктора. От разработчика требуется указать поля, значения которых будут заголовками строк и столбцов, а также поле, значения которого следует использовать в вычислениях (см. рис.8.39).

Рис. 8.39 Результат выполнения перекрестного запроса

Рассмотрим запросы, которые изменяют содержимое базовых таблиц БД. Такие запросы называются запросами на изменение.

Выше перечисленные запросы на выборку создают временные результирующие таблицы. Базовые таблицы при этом не изменяются. Запросы на изменение позволяют автоматически создавать новые таблицы или изменять уже имеющиеся (запросы обновления, удаления, добавления).

Для задания типа запроса в Бланке запроса по образцу следует воспользоваться панелью Тип запроса (см. рис.8.40).

Рис. 8.40 Панель для изменения типа запроса

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

Рис. 8.41 Структура запроса на добавление

Запрос удаления. Можно удалить из таблицы записи, которые отобраны по некоторому критерию (см. рис.8.42).

Рис. 8.42 Структура запроса на удаление

Запрос обновления. Можно изменить группу записей, которые отобраны на основе определенных критериев (см. рис. 8.43).

Рис. 8.43 Структура запроса на обновление

Запрос на создание новой таблицы. Можно создать новую таблицу на основе данных других таблиц БД.

Данный запрос обычно используется для выполнения следующих операций в БД:

  • создания архивной таблицы, содержащей старые записи (например, данные обо всех отчисленных студентах);

  • создания резервной копии таблицы;

  • создания промежуточной таблицы для последнего экспорта в другую БД (например, фамилии, имена, адреса, телефоны для БД отдела кадров).