Запрос на выборку является самым распространенным типом запроса.
Данный запрос определяет, какие записи или поля из одной или нескольких таблиц будут отображены при его выполнении по заданному условию (критерию поиска).
В зависимости от характера критерия поиска различают несколько типов запросов:
- по точному значению одного поля;
- по приближённому значению поля;
- по сравнению значений одного поля;
- использование логических операций (И, ИЛИ, НЕ);
1) Выбор записей по точному значению одного поля
Для такого запроса следуетввести значение поля в строку Условие отбора запросного бланка в соответствующий столбец (см. рис.1);
G Примечания.
1) Текстовое значение поля Access заключает в кавычки.
2) При вводе даты Access добавляет символ # (пример: #23.12.1980#).
3) Числа, денежные суммы вводятся обычным образом.
2) Выбор записей по приближённому значению поля
В строку Условие отбора вводится критерий с шаблонами. В качестве шаблона используются символы:
· Вопросительный знак (?) – для любого символа в тексте.
|
|
Например: ию?ь для выбора данных, содержащих и ию н ь, и ию л ь.
· Звездочка (*) – для любой группы символов.
Примеры:
Ив*ов для выбора Ив ан ов, Ив анк ов, Ив анник ов;
в начале текста – *й для отбора таких данных: 128 й, Последни й и т.д.
· Знак фунта (#) – для любой цифры.
Например, по условию: #-й будут выведены значения и 5 -й, и 8 -й и т.д.
G Примечание.
При вводе условия указанным выше образом Access добавляет слово Like (подобно) и заключает условие в кавычки или в символы #.
Например, ввод с клавиатуры: С*, Access воспринимает как: Like "С*".
3) Выбор по сравнению значений одного поля
В запросах этого вида используются операции сравнения (>, <, =, <=,>=,<>), которые можно применять к полям любого типа.
Примеры:
1. Вывести список продавцов, чьи фамилии, стоят в алфавитном порядке раньше, чем Сидорова:
Поле: | ФИО продавца |
Условие отбора: | < "Сидорова" |
2. Список товаров ценой не менее 1000 рублей:
Поле: | Название товара | Цена товара |
Условие отбора: | >=1000 |
3. Названия товаров, проданных на сегодняшний день:
Поле: | Название товара | Дата продажи |
Условие отбора: | < Date() |
G Примечания.
1. Нельзя операцию сравнения использовать совместно с шаблонами.
2. Текущая дата – встроенная функция Date(), см. пример 3.
4) Запросы с использованием логических операций (И, ИЛИ, НЕ)
Логическое умножение – И (совместное выполнение условий):
a) интервал значений одного поля состоит из двух операций сравнения, объединённых оператором AND.
Примеры:
1. Числовой интервал: Вывести список товаров, цена которых от 100 до 500 рублей включительно:
|
|
Поле: | Название товара | Цена товара |
Условие отбора: | >=100 AND <= 500 |
2. Диапазон дат: Список товаров, проданных с 1.07.05 по 1.09.05:
Поле: | Название товара | Дата продажи |
Условие отбора: | Between #01.07.05# And #01.09.05# |
3. Диапазон строковых данных:
Список продавцов, фамилии которых начинаются с Д по К:
Поле: | Фамилия И.О. |
Условие отбора: | Like “[ Д-К]*” |
b) объединить критерии разных полей – указать условия отбора в разных полях одной строки Условия отбора.
Пример: Вывести список товаров, проданных до сегодняшнего дня, ценою более 500 рублей:
Поле: | Название товара | Цена товара | Дата продажи |
Условие отбора: | >500 | < Date() |
G Примечание. Все критерии, заданные в разных полях, объединяются с помощью операции логического умножения.
Поэтому запрос а) можно выполнить и таким образом:
Поле: | Название товара | Цена товара | Цена товара |
Условие отбора: | >=100 | <= 500 |
Логическое сложение – ИЛИ (выполняется хотя бы одно из условий):
a) если ИЛИ применяется в одном поле, то используется оператор OR.
Пример: Вывести список самых дорогих товаров (больше 500р.) и самых дешёвых товаров (меньше 100р.):
Поле: | Название товара | Цена товара |
Условие отбора: | < 100 OR > 500 |
b) если выбор делается либо по одному, либо по другому полю, или по нескольким полям, то условия указываются в одной или нескольких строках ИЛИ запросного бланка.
Пример: Вывести список самых дешёвых товаров (меньше 100р.) или поступивших после заданной даты (1.07.04):
Поле: | Название товара | Цена товара |
Условие отбора: | < 100 | |
или | < 1.07.04 |
G Примечание. Все критерии, заданные в разных строках, объединяются с помощью операции логического сложения. Поэтому запрос а) можно выполнить и таким образом:
Поле: | Название товара | Цена товара | Цена товара |
Условие отбора: | >500 | ||
или | < 100 |
Логическое отрицание – НЕ:
Если нужно выбрать все записи, кроме заданной, то используют
операцию not.
Пример: Составить список импортных товаров:
Поле: | Название товара | Изготовитель |
Условие отбора: | not "Россия" |
Этот же результат можно достичь с помощью операции сравнения –
< > (не равно).
G Примечания.
1) Проследить, чтобы в строке «Вывод на экран» флажок был отображён галочкой.
2) Для редактирования запросного бланка можно вернуться в режим создания, нажав крайнюю левую кнопку меню - Вид или Конструктор запроса в меню Вид.
3) При необходимости не забывать сохранять запросы для последующего использования, присваивая имена, отражающие смысл запросов.