- •Проектирование форм ввода и редактирования данных в субд access. Создание запросов в среде access.
- •Цель работы
- •Настройка параметров формы в окне Конструктора
- •3. Размещение объектов в форме
- •Размещение полей таблиц и надписей к ним
- •Размещение текстовой информации
- •3.3. Создание кнопок управления
- •Размещение кнопок при помощи мастера
- •Размещение кнопок без помощи мастера.
- •3.4. Создание выключателей, переключателей и флажков
- •3.5. Создание линий и контуров. Access позволяет размещать в форме линии и прямоугольники, используемые для объединения в группу похожих объектов и улучшения внешнего вида формы.
- •3.6. Применение списков для ввода и редактирования данных
- •Создание списка с помощью мастера
- •Создание списка без помощи мастера
- •3.7. Применение составных объектов для работы с таблицами
- •4. Окно конструктора запросов
- •3. Построение условий для выбора записей
- •4. Упорядочение данных и группировка полей запроса
- •5. Интерактивные и перекрестные запросы
- •6. Запросы на изменение
- •Порядок выполнения работы
3. Построение условий для выбора записей
Для задания критериев выбора записей следует выбрать строку Условие отбора бланка запроса и ввести в нужный столбец выражение для отбора записей. При вводе выражения можно использовать построитель выражений (выбор строки Построить из контекстного меню). При построении выражений используются математические, логические, строковые (Like, & - конкатенация) операторы, операторы сравнения, а также вспомогательные операторы Between…And; In; Is Null/Not Null. На рисунке 5 представлен результат выборки данных с заданными критериями отбора данных в строке Условия отбора окна конструктора.
Заметим, что при составлении выражений для фильтров удобно пользоваться оператором In для задания списка возможных значений. Например, для выбора пациента с идентификационным номером 1получим запрос, представленный на рис. 23.
Рис. 23. Результат выбора по заданному условию
Более сложные варианты отбора представляются с помощью соединителя Between. На рис. 24 представлены бланк и результаты запроса с более сложными условиями выбора записей.
Рис. 24. Пример задания условий отбора для дат
4. Упорядочение данных и группировка полей запроса
Строка Сортировка бланка запроса управляет порядком расположения записей в результирующей таблице. Для каждого выбранного поля можно установить с помощью переключателя критерий упорядочения по возрастанию (Ascending) или по убыванию (Descending).
При упорядочении по нескольким полям для каждого из полей критерий упорядочения устанавливается отдельно. При этом порядок сортировки записей результирующей таблицы определяется порядком следования полей в списке.
Группировка позволяет получить вычисляемую информацию о подгруппах записей таблицы. Чтобы сгруппировать записи в запросе по каким либо полям таблицы и выполнить групповые вычисления необходимо активизировать строку Групповая операция (Total). Для этого необходимо выполнить одно из двух действий:
выбрать в режиме конструктора запросов команду основного меню Вид Групповая операция;
щелкнуть на кнопке Групповые операции (Totals) (с пиктограммой греческой буквы
)
на панели инструменотов Конструктора.
В результате в бланке запроса между строками Имя таблицы и Сортировка появляется строка Групповая операция, позволяющая реализовать четыре категории групповых операций:
Группировка – группирование записей для статистических вычислений.
Статистические функции – математичекие операции или операции выбора над данными группы.
Выражение – групповые вычисления на базе вычисляемого поля.
Условие – условия отбора записей для групповых вычислений.
Все перечисленные категории групповых опрераций кроме статистических функций состоят их одной опции. Для статистичесикх функций подсчет итоговых значений выполняется для одной из девяти функций:
Count – количество непустых значений поля в группе строк итоговой таблицы;
Max – наибольшее значение в поле;
Min – наименьшее значение в поле;
Avg – среднее значение в поле;
Sum – сумма значений в поле;
StDev - стандартное отклонение значений в поле;
Var - дисперсия распределений значений в поле;
First - значение поля в первой записи таблицы или запроса;
Last - значение поля в последней записи таблицы или запроса.
Строки таблицы можно группировать по любой комбинации ее полей. Каждое из уникальных значений поля, по которому выполняется группировка, порождает отдельную группу данных.
Рассмотрим примеры запросов, выпоняющих вычисления итогов по всем записям таблицы, а также для одной и нескольких групп записей. Для этого снова обратимся к базе данных о покупках.
Запрос 1. Определить общее число сделок, суммарный объем сделок (суммарное количество единиц товаров) и максимальную стоимость одной сделки.
По результатам выполнения запроса (рис. 25) можно видеть, что она представлена только одной записью, т.к. итоговые вычисления проводятся над всеми записями таблиц.
Рис. 25. Выполнение запроса с группировкой
Запрос 2. Для каждого наименования товара определить количество сделок, а также суммарную стоимость покупок и общее количество единиц купленного товара.
На рис. 26 приведен результат выполнения запроса 2. В данном запросе выражение вычисляет итоговую сумму покупок для каждого вида товаров в отдельности. В Запросе 1 с помощью выражения определялась максимальная стоимость одной сделки среди всех сделок по всем видам товаров.
Рис. 26. Результат выполнения Запроса 2
Запрос 3. Для каждого клиента определить число сделок и стоимость покупок отдельных видов товаров (рис. 27).
Рис. 27. Результат выполнения Запроса 3
Access позволяет ограничивать область действия группового запроса за счет совместного использования группировки и критериев ограничения выбора записей. Условия отбора записей применяют к полям группировки, итоговым и неитоговым полям. Ниже представлены примеры реализаций запросов с различными критериями отбора записей.
Запрос 4. Для каждого наименования товара, кроме товара «сахар», определить суммарную стоимость покупок. (рис. 28).
Рис. 28. Результат выполнения Запроса 4
Запрос 5. Для каждого наименования товара определить суммарную стоимость покупок, если она не превышает значения 1000 у.е . (рис. 29).
Рис. 29. Результат выполнения Запроса 5
Запрос 6. Для каждого наименования товара определить число сделок, выполненных позднее 01.02.2002 (рис.30).
Рис. 30. Результат выполнения Запроса 6
