Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_5.doc
Скачиваний:
4
Добавлен:
18.08.2019
Размер:
1.38 Mб
Скачать

3. Построение условий для выбора записей

Для задания критериев выбора записей следует выбрать строку Условие отбора бланка запроса и ввести в нужный столбец выражение для отбора записей. При вводе выражения можно использовать построитель выражений (выбор строки Построить из контекстного меню). При построении выражений используются математические, логические, строковые (Like, & - конкатенация) операторы, операторы сравнения, а также вспомогательные операторы Between…And; In; Is Null/Not Null. На рисунке 5 представлен результат выборки данных с заданными критериями отбора данных в строке Условия отбора окна конструктора.

Заметим, что при составлении выражений для фильтров удобно пользоваться оператором In для задания списка возможных значений. Например, для выбора покупок клиентов с номерами 1,3,6 и объемом сделок не менее 10 единиц товара получим запрос, представленный на рисунке 6.

Рис. 5. Результат выбора по заданному условию

Рис. 6. Запрос с условиями отбора в нескольких полях

Более сложные варианты отбора представляются с помощью соединителя Or в одной или нескольких строках. На рисунке 7 пред­ставлены бланк и результаты запроса с более сложными условиями выбора запи­сей.

Рис. 7. Пример задания условий отбора для символьных полей и дат

4. Упорядочение данных и группировка полей запроса

Строка Сортировка бланка запроса управляет порядком расположения записей в результирующей таблице. Для каждого выбранного поля можно установить с помощью переключателя критерий упорядочения по возрастанию (Ascending) или по убыванию (Descending).

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

Группировка позволяет получить вычисляемую информацию о подгруппах записей таблицы. Чтобы сгруппировать записи в запросе по каким либо полям таблицы и выполнить групповые вычисления необходимо активизировать строку Групповая операция (Total). Для этого необходимо выполнить одно из двух действий:

  • выбрать в режиме конструктора запросов команду основного меню Вид Групповая операция;

  • щелкнуть на кнопке Групповые операции (Totals) (с пиктограммой греческой буквы ) на панели инструменотов Конструктора.

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

  • Группировка – группирование записей для статистических вычислений.

  • Статистические функции – математичекие операции или операции выбора над данными группы.

  • Выражение – групповые вычисления на базе вычисляемого поля.

  • Условие – условия отбора записей для групповых вычислений.

Все перечисленные категории групповых опрераций кроме статистических функций состоят их одной опции. Для статистичесикх функций подсчет итоговых значений выполняется для одной из девяти функций:

  • Count – количество непустых значений поля в группе строк итоговой таблицы;

  • Max – наибольшее значение в поле;

  • Minнаименьшее значение в поле;

  • Avg – среднее значение в поле;

  • Sum – сумма значений в поле;

  • StDev - стандартное отклонение значений в поле;

  • Var - дисперсия распределений значений в поле;

  • First - значение поля в первой записи таблицы или запроса;

  • Last - значение поля в последней записи таблицы или запроса.

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

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

Запрос 1. Определить общее число сделок, суммарный объем сделок (суммарное количество единиц товаров) и максимальную стоимость одной сделки.

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

Рис. 8. Пример выполнения Запроса 1

Запрос 2. Для каждого наименования товара определить количество сделок, а также суммарную стоимость покупок и общее количество единиц купленного товара.

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

Рис. 9. Пример выполнения Запроса 2

Запрос 3. Для каждого клиента определить число сделок и стоимость покупок отдельных видов товаров.

Результат выборки (рис. 10) содержит несколько записей для одного клиента по количеству наименований купленных товаров. Для каждого из наименований определены число сделок и их сум­марная стоимость.

Рис. 10. Пример выполнения Запроса 3

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

Запрос 4. Для каждого наименования товара, кроме товара «сахар», определить суммарную стоимость покупок.

Запрос 5. Для каждого наименования товара определить суммарную стоимость покупок, если она не превышает значения 3000 у.е .

Запрос 6. Для каждого наименования товара определить число сделок, выполненных позднее 01.02.2002.

В Запросе 4 подсчет итогов производится только для тех записей, для которых выполняется критерий выбора (рис. 11). В Запросе 5 итоги подводятся для всех записей и критерий отбора распространятся только на результат отображения результатов запроса: выводятся только те записи, для которых критерий выполняется (рис. 12).

Рис. 11. Пример выполнения Запроса 4

Рис. 12. Пример выполнения Запроса 5

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

Рис. 13. Пример выполнения Запроса 6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]