Поиск и отбор данных. Фильтрация и запросы.
Запросы
Запрос – это средство отбора данных из одной или нескольких таблиц. Отобранные данные могут быть упорядочены и сгруппированы. Запрос может включать какие-либо расчеты. Результатом запроса является набор строк (записей) и столбцов (полей), удовлетворяющих условиям, заданным пользователем (иными словами – новая таблица, данные которой могут изменяться при редактировании исходных таблиц).
Способы создания запросов:
1. Мастер запросов – позволяет только ограничить количество выводимых полей и задать способ сортировки данных.
2. Конструктор запросов – более гибкий инструмент для отбора данных. Используя конструктор для создания запросов, можно задавать одно или несколько условий отбора, производить вычисления, группировку, сортировку данных.
Окно Конструктора состоит из 2 частей (рис.5.6):1 – в верхней части располагаются таблицы, из которых выбираются данные; 2 – в нижней части перечисляются поля таблиц, условия отбора и формулы для расчетов.
Таблицу можно добавить в список кнопкой [Добавить таблицу] на панели инструментов. Для удаления таблицы следует ее выделить и нажать клавишу {Delete}.
В строке Поле указываются имена полей, по которым происходит отбор данных, а также других полей, которые должны быть отражены в результате запроса. Для выбора имени поля следует выполнить двойной щелчок по имени поля в таблице или выбрать из списка. Если выбор поля осуществлен подобным образом, то строка Имя таблицы заполнится автоматически.
Строка Сортировка заполняется в том случае, если в результате запроса необходимо упорядочить записи по этому полю.
В строке Вывод на экран следует поставить флажок, если это поле надо вывести на экран в результате запроса, или снять его в противном случае.
Строка Условие отбора может содержать знаки >, <, =, а также And (И) и Or (ИЛИ), если на значения данного поля накладывается несколько условий.
Итак, чтобы создать запрос, необходимо:
1) выбрать объект Запросы;
2) вызвать конструктор запросов;
3) добавить таблицы – основу запроса (если таблиц несколько, то они обязательно должны быть связаны);
4) добавить поля, отображаемые в результате запроса;
5) задать условия отбора;
6) запустить запрос: Запрос®Запуск или кнопка на панели инструментов , если результат удовлетворительный – сохранить с заданием имени запроса.
Примеры:
Задача 1. Отобрать препараты с ценой выше 100 и менее 200.
Задача 2. Вывести информацию по любому, заданному пользователем препарату. Пример запроса представлен на рисунке. В качестве условия отбора использован оператор Like[Сообщение], который при запуске запроса выводит диалоговое окно «Введите значение параметра». В данном примере в строке ввода требуется ввести наименование препарата и нажать [ОК]. В результате выведутся те данные по введенному препарату, которые указали в запросе (перечисленные поля). Если препарат отсутствует в таблице Товары, то выведется пустая таблица.
Задача 3. Вывести препараты с вышедшим сроком годности, имеющиеся на складе (для поля Наличие задан тип логический).
Запросы с вычисляемыми полями
1) Создать запрос;
2) добавить таблицы;
3) добавить поля;
4) для вычисляемого поля в строке «поле» задать формулу, содержащую знаки арифметических действий, константы, стандартные функции (например, Cos(x), Мин, Макс и др.), имена полей и таблиц заключаются в квадратные скобки. В этом же поле можно задать критерии отбора.
Пример:
Итого:[Товары]![Цена]*[Заказы]![Количество]
Итого – имя поля-результата, Товары, Заказы – имена таблиц, из которых берутся для расчетов поля Цена и Количество. Если используются для расчетов поля одной таблицы, то имя таблицы можно не указывать. В этом случае формула запишется в виде: Итого:[Цена]*[Количество]
Формула может содержать и числа – константы, например:
Налог:[Цена]*0,1
Групповые операции в запросах
Позволяют выделить группы записей с одинаковыми значениями в указанных полях и использовать для некоторых полей из этих групп одну из статистических функций, например:
Sum – сумма значений
Avg – среднее значение
Max, Min – максимальное, минимальное значение
Count – количество
1) Создать запрос на выборку;
2) добавить таблицы;
3) добавить поля, по которым записи будут группироваться;
4) добавить поля, по которым будет вестись расчет;
5) Вид®Групповые операции или кнопка (в конструкторе запросов появится строка Групповая операция, в которой по умолчанию будет стоять значение Группировка) см. рис. 5.7.
6) задать операции и критерии отбора.
Пример задачи: Подсчитать количество выездов на вызова каждой бригады. Пример запроса для решения этой задачи приведен на рисунке 5.7.
Запросы-действия
Помимо стандартного запроса на выборку данных существует еще несколько видов запросов. Тип запроса задается в режиме конструктора запросов через пункт меню Запрос:
- Запрос на создание таблицы – для сохранения отобранных данных в виде таблицы.
- Запрос на обновление данных – для обновления данных в полях таблицы.
- Запрос на добавление данных – для добавления записей из результата запроса в таблицу базы данных.
- Запрос на удаление данных – для удаления данных, удовлетворяющих заданным условиям.
Дата добавления: 2016-07-22; просмотров: 2576;