Отбор записей с помощью окна расширенного фильтра

1.Откройте форму в режиме формы или таблицу, запрос или форму в режиме таблицы.

2.Выберите форму, подчиненную форму, таблицу или подтаблицу, к которой нужно применить фильтр.

3.Выберите команду Фильтр в меню Записи, а затем команду Расширенный фильтр.

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

5.Чтобы указать порядок сортировки, выберите ячейку Сортировка (Sort) нужного поля, щелкните стрелку и выберите порядок сортировки.

6.В ячейке Условие отбора (Criteria) полей, включенных в бланк, укажите искомое значение или введите выражение.

7.Чтобы применить фильтр, нажмите кнопку Применить фильтр на панели инструментов.

Краткие теоретические сведения

 

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

 

Способы создание запроса на выборку. Создание запроса на выборку с помощью мастера

 

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

Однако нельзя ограничить количество записей, возвращаемых этим запросом, с помощью условий отбора (условие – ограничение, заданное для отбора записей, включаемых в результирующий набор записей запроса или фильтра).

 

1.В окне базы данных на панели Объекты активизируйте кнопку Запросы , а затем нажмите кнопку Создать на панели инструментов окна базы данных.

2.В диалоговом окне Новый запрос выберите в списке строку Простой запрос и нажмите кнопку OK.

3.Следуйте инструкциям в диалоговых окнах мастера. А именно, требуется:

3.1. Выбрать объект базы данных (таблицу или запрос) на основании которого будет создан запрос на выборку;

3.2. Определить (выбрать) из доступных полей поля, которые необходимо включить в запрос;

3.3. Задать имя запросу;

3.4. На последнем шаге мастера создания запроса необходимо выполнить одно из следующих действий:

3.4.1. открыть запрос для просмотра данных;

3.4.2. изменить макет запроса (т. е. открыть его в режиме конструктора).

 

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

 

 

Создание запроса на выборку в режиме конструктора

1.В окне базы данных на панели Объекты активизируйте кнопку Запросы , а затем нажмите кнопку Создать на панели инструментов окна базы данных.

2.В диалоговом окне Новый запрос щелкните строку Конструктор, а затем нажмите кнопку OK.

3.В диалоговом окне Добавление таблицы выберите вкладку, содержащую объекты, данные из которых будут использованы в запросе.

4.Дважды щелкните объекты, которые нужно добавить в запрос, а затем нажмите кнопку Закрыть.

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

 

Чтобы просмотреть результаты запроса, нажмите кнопку Вид на панели инструментов.

 

 

Пример создания запроса на выборку в режиме конструктора

 

Примечание: В условиях отбора (поиска) допускаются любые стандартные операторы. К операторам, используемым в условиях отбора, применяются следующие правила.

Типы данных, используемых для сравнения, должны совпадать. Это означает, что с текстом можно сравнивать только текст, числа с числами и т.д.

 

Сводка операторов сравнения, используемых в условиях отбора при создании запроса в режиме конструктора

Оператор Результат ВЫРАЖЕНИЕ (Пример в области сетки) РЕЗУЛЬТАТ
= Равно "Киев" Отбор заказов на поставку, содержащих в поле «Город получателя» значение «Киев»
<> Не равно <> 456 Отбор записей, значение поля «Количество» которых не равны 456
> Больше > 234 Отбор записей, значение поля «Количество» которых больше 234
< Меньше < 1200.45 Отбор записей, значение поля «Цена» которых менее 1200.45
>= Больше или равно >="Н" Отбор заказов на доставку товаров в фирмы, названия которых в поле «Имя» начинаются с букв, находящихся в диапазоне от Н до Я.
<= Меньше или равно <="Г" Отбор заказов на доставку товаров в фирмы, названия которых в поле «Имя» начинаются с букв, находящихся в диапазоне от А до Г.
BETWEEN expr1 AND expr2 В диапазоне значений BETWEEN 25 AND 49.7 Отбор записей, значение поля «Количество» находится в диапазоне от 25 до 49.7
[NOT] LIKE Сравнение с шаблоном (обычно используется для текстовых типов данных). Like "С*" Отбор заказов на доставку товаров клиентам, имена которых в поле «НазваниеПолучателя» начинаются с буквы С
    Like "[А-Д]*" Отбор заказов на доставку товаров клиентам, имена которых, указанные в поле «НазваниеПолучателя», находятся в диапазоне от А до Д
    Not "США" Отбор записей со сведениями о заказах на доставку, содержащих в поле «Страна получателя» любую страну/регион за исключением США
    Not T* Отбор всех сотрудников, чьи фамилии, указанные в поле «Фамилия», не начинаются с буквы «Т»

Комбинирование условий с помощью операторов And и Or

Для того же поля или для других полей можно ввести дополнительные условия отбора. Если выражения вводятся в несколько ячеек Условие отбора, то они автоматически объединяются с помощью операторов (Оператор – знак или символ, задающий тип вычисления в выражении. Существуют математические, логические операторы, операторы сравнения) And или Or. Если выражения находятся в разных ячейках, но в одной строке, то Microsoft Access использует оператор And. Это означает, что будут возвращены только записи, отвечающие условиям отбора, указанным во всех ячейках. Если же выражения находятся в разных строках бланка запроса, то Microsoft Access использует оператор Or, что означает, что возвращены будут записи, отвечающие условиям отбора, указанным любой ячейке.

Выражение Результат
"Киев" Or "Минск" Отбор заказов на поставку, содержащих в поле «Город получателя» значение «Киев» или «Минск»

Запрос с параметром

 

Возможности запроса MS Access существенно расширяет инструмент запрос с параметром.

Например, нам необходимо составить запрос так, чтобы по ходу его выполнения можно было ввести произвольное название метеостанции, для того чтобы получить список записей по этой станции. Ведь не создавать же по каждой станции свой собственный запрос! Запишем в поле Условие отбора, следующее выражение: [Введите название метеостанции]

Выполнение запроса начинается с появления следующего диалогового окна

 

В текстовое поле вводим название нужной станции и нажимаем кнопку ОК.

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

Признаком параметра для MS Access являютсяквадратные скобки.

Можно еще больше упростить себе работу по вводу критериев для отбора записей. Например, мы хотим, введя с клавиатуры всего две-три первые буквы названия станции, получить список записей по этой станции при всех тех же условиях. Тогда в поле Условие отбора: нужно записать следующее выражение:

Like [??] & "*"

Строка Like[??]&"*" также вызывает появление диалогового окна Введите значение параметра, признаком чего, как мы уже знаем, являются квадратные скобки. Вместо двух символов ?? следует ввести две первые буквы названия метеостанции. Символы «амперсанд» & (конкатенация) и звездочка в двойных кавычках "*" (любая последовательность символов) вместе означают, что к этим двум символам следует добавить любое окончание. Если бы после закрывающей квадратной скобки не было добавлено ничего, запрос искал бы точное соответствие этим двум символам в указанном поле, как обычный запрос с параметром. Можно было бы вписать символ звездочки прямо в квадратные скобки: [??*], но тогда пришлось бы вписывать звездочку в диалоговое окно Введите значение параметра после запуска запроса.

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

Если в качестве параметра предполагается ввести набор символов, точно соответствующий атрибуту записи, следует вписать комментарий типа: [Параметром является полное название]непосредственно в квадратные скобки. Если после запуска запроса предполагается ввести лишь часть строки поиска, используйте оператор Like.

 

Итоговый запрос (Групповые операции в запросах)

 

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

– Групповые операции

Например, для того чтобы найти среднее значение заработной платы за 2 месяца по каждым из фамилий, содержащихся в поле Фамилия, необходимо сгруппировать данные. Для этого в окне конструктора запросов следует нажать кнопку с изображением знака суммына панели инструментов, после чего в нижней части таблицы появится строка Групповая операция. Для поля Суммавыбрать в строке Групповая операция одну из операции: Sum (сумма), Avg (среднее), Min (минимум), Мах (максимум), Count (количество значений) и др.

 

 

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

 

Результат запроса:

 

 

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

Вычисления в запросе

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

 

 

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

Так же как в других приложениях MS Office, имена полей в выражениях отделяются от имен таблиц символом !. Иногда нужно подправить автоматически генерируемые вставки, не имеющие смысла. Например, такие: "Выражение" которые появляются в качестве подсказок.

Нажав кнопку ОК, мы вводим выражение из окна построителя в верхнюю строку конструктора запросов. В графе Условие необходимо записать условие, если необходимо. Построение запроса закончено.

Например (самостоятельно), для того чтобы отобрать данные по месяцам, в течение которых перепады максимальных и минимальных температур превышали 30 °С, следует создать вычисляемое поле вида:

resultat: [Data]![Tmax]-[Data]![Tmin] а в графе условий записать ">30".