Как сделать фильтры в access?

В этом уроке поговорим на тему «Фильтрация, сортировка и поиск данных в Microsoft Access».

Фильтрация, сортировка и поиск данных в Microsoft Access

Когда записей в таблице становится достаточно много, большое значение приобретает возможность просматривать их выборочно и в определенном порядке. С помощью инструментов страницы «ленты» «Главная» можно скрыть некоторые столбцы и записи таблицы, а также отсортировать записи по одному или нескольким полям. Для того чтобы спрятать на время выделенный столбец или группу столбцов, раскройте раздел «ленты» «Записи».
как сделать фильтры в access
Нажмите кнопку «Дополнительно» и выберите в открывшемся меню команду «Скрыть столбцы».

как сделать фильтры в access
Для того чтобы снова показать скрытые столбцы, раскройте раздел «ленты» «Записи», нажмите кнопку «Дополнительно» и выберите в меню команду «Отобразить столбцы…».

как сделать фильтры в access

как сделать фильтры в access

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

Для того чтобы отображать только записи таблицы, отобранные по определенному признаку, можно использовать фильтр, то есть условие, задаваемое для поля. После применения фильтра записи, не удовлетворяющие заданному условию, будут скрыты. Для назначения фильтра выделите один из столбцов, например, столбец «Сумма» и нажмите кнопку «Фильтр» в разделе «ленты» «Сортировка и фильтр».
как сделать фильтры в access

как сделать фильтры в access

В списке значений поля уберите значения, которые не должны отображаться путем снятия галочек напротив каждого из значений. Для применения фильтра нажмите кнопку «ОК».
как сделать фильтры в access

как сделать фильтры в access

как сделать фильтры в access

После применения нового фильтра представление данных обновляется. Поле с установленным фильтром маркируется специальным значком в заголовке.
как сделать фильтры в access

Для временного снятия фильтра с выделенного поля нажмите кнопку «Удалить фильтр».
как сделать фильтры в access

При снятии фильтра представление тоже обновляется. Повторно нажмите на эту же кнопку, чтобы включить фильтр снова.
как сделать фильтры в access

Для окончательной очистки фильтра щелкните по стрелке в заголовке столбца таблицы и выберите команду «Снять фильтр с Сумма».
как сделать фильтры в access

как сделать фильтры в access

Чтобы задать условие для фильтра в виде логического выражения, вызовите снова окно настройки сортировки и фильтров.
как сделать фильтры в access

Список доступных логических операторов будет зависеть от типа данных поля. Раскройте список «Числовые фильтры». Выберите в списке фильтр «Больше…» и, задав величину для сравнения, нажмите кнопку «ОК».
как сделать фильтры в access

Теперь на экране будут отражаться только записи, содержащие в поле «Сумма» значения не менее двадцати. К отдельному полю можно применить только один простой фильтр, однако для каждого поля можно определить свой. В этом случае отображаться будут только записи, удовлетворяющие одновременно всем условиям. Более сложные фильтры, которые могут включать значения нескольких полей одновременно, задаются с помощью команды «Параметры расширенного фильтра».

Параметры фильтра действуют до закрытия таблицы и не теряются при переключении режима отображения. Если сохранить таблицу, примененный фильтр будет доступен и при следующем её открытии. Включать и выключать сохраненный фильтр можно с помощью кнопки панели навигации «Без фильтра» — «С фильтром», надпись на кнопке отражает текущее состояние поля. Нажмите на кнопку с надписью «С фильтром», чтобы отключить фильтр.

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

Для отмены сортировки по всем полям сразу нажмите кнопку «Очистить все сортировки».

В Microsoft Office Access записи сортируются по возрастанию или по убыванию без учета регистра. Порядок сортировки чисел, текста и специальных знаков зависит от выбранных параметров языка и стандартов для данного компьютера. При сортировке по нескольким полям сразу результат будет зависеть от порядка применения режима сортировки к этим полям. В случае, когда надо найти одну или несколько записей по фрагменту текста, входящему в одно из их полей, можно воспользоваться стандартным средством поиска Microsoft Office Access. Нажмите кнопку «Найти» на странице «ленты» «Главная».

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

Для перехода на следующую найденную запись нажмите кнопку «Найти далее».

После завершения поиска закройте окно.

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

Это несложно сделать с помощью применения фильтра для источника данных формы (в данном случае — подчиненной). Фильтр можно применить двумя способами:

  • с помощью интерфейса Access (соответствующих кнопок на панели инструментов Режим формы (Form View), команд стандартного меню и контекстного меню поля формы);
  • с помощью изменения значений свойств формы.

Первый способ применения фильтра в форме во многом аналогичен подобным действиям в режиме Таблицы, которые были рассмотрены в разд. «Фильтрация данных»гл. 2. Здесь мы рассмотрим второй способ.

В этом случае применяются свойства формы Фильтр (Filter) и Фильтр включен (Filter On). Свойство Фильтр (Filter) содержит строковое значение — предложение WHERE на языке SQL (без ключевого слова WHERE). Свойство Фильтр включен (Filter On) определяет, применен ли фильтр, указанный в свойстве Фильтр (Filter), к форме. В отличие от свойства Фильтр включен (Filter On), свойство Фильтр (Filter) можно задать и в режиме Конструктора, в окне свойств формы, чтобы фильтр применился в момент загрузки формы. Но нам нужно изменять фильтр динамически — в процессе работы с формой в режиме Формы. Мы реализуем это с помощью процедуры VBA. : .

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

Рассмотрим решение этой проблемы на примере формы «Типы» (Categories), содержащей подчиненную форму «Список товаров» (Product List). Организуем отбор товаров в подчиненной форме в зависимости от наличия их поставок:

  1. Откройте форму «Типы» (Categories) базы данных «Борей» (Northwind) в режиме Конструктора.
  2. Создайте в главной форме элемент Поле со списком (Combo Box), содержащий два столбца с фиксированным набором значений (см. гл. 5). Метку списка назовите Условие:. Свойства списка должны иметь значения, описанные в табл. 9.1.
Свойство  Значение 
Тип источника строк (Row Source Type)  Список значений (Value List) 
Количество столбцов (Column Count)  2
Ширина столбцов (Column Widths)  Ост; 2, 5cm 
Данные (ControlSource)  оставьте поле свойства пустым 
Имя (Name)  Отбор 
Присоединенный столбец (Bound Column)  1
Источник строк (Row Source)  0; «Поставки выполняются»;— 1 ; «Поставки прекращены» ; 2 ; «Все товары» 

Таблица 9.1. Свойства фильтрующего элемента

Замечание

Обратите внимание на значения созданного элемента в свойстве Источник строк — 0, -1 и 2. Первые два значения выбраны в соответствии с возможными вариантами значений поля «ПоставкиПрекращены» (Discontinued) таблицы «Товары» (Products), которая является источником данных для подчиненной формы в настоящем примере. По этому полю и будет проводиться фильтрация данных в подчиненной форме.

  1. В окне свойств созданного списка раскройте вкладку События (Events) и нажмите кнопку Построителя слева от свойства После обновления (After Update).
  2. В появившемся диалоговом окне выделите элемент списка Программы (Code Builder) и нажмите кнопку ОК.
  3. Откроется редактор VBA со сгенерированным заголовком процедуры обработки события. Вставьте в процедуру следующий код:
    Private Sub Отбор_А£terUpdate() If Me!Отбор = 2 Then .Form.Filter = "" .Form.FilterOn = False Else ? .Form.Filter = _ " = " & Me!Отбор .Form.FilterOn = True End If End Sub В английской версии "Борей" вместо русских названий подчиненной формы  и поля  используйте их английские аналоги:  и . 
  4. Закройте редактор VBA. Сохраните форму.

Откройте форму «Типы» (Categories) в режиме Формы. Попробуйте выбирать в созданном списке разные значения и переходить от записи к записи. Вы увидите, что в соответствии с выбранным в списке значением, в подчиненной форме отображаются только товары с выполняющимися поставками, только товары с прекращенными поставками или все товары (см. также разд. «Синхронизация данных в связанных формах»гл. 13).

———————————————————
СКАЧАТЬ ФАЙЛ

Из объяснения в лабораторной работе действительно, но совсем понятно, как именно создается расширенный фильтр в Access.

Дословная цитата из лабораторной такова:

Режим фильтрации Расширенный фильтр использует специальный бланк для задания условий фильтрации, и позволяет указать для любого поля таблицы любой набор условий. Условия, заданные в одной строке Условия отбора соединены операцией И, а в разных строках операцией ИЛИ.
Чтобы получить информацию о фруктах категорий «Сушеные» и «В шоколаде», название которых начинается с символа “а”, расширенный фильтр имеет следующий вид:

Для создания такого фильтра можно использовать несколько способов, наиболее быстро это можно сдалать так:

1. Открыть таблицу Фрукты.
2. Выбрать в меню Записи/Фильтр/Изменить фильтр
3. Войти в поле Название фрукта и ввести а* (кириллический шрифт) для выбора фруктов, название которых начинается с буквы «а»
4. Перейти в поле Категория и выбрать из всплывающего меню категорию «Сушеные», при этом условие для поля Название фрукта изменится на Like а*

5. Перейти во вкладку или

а далее ввести условия для поля Название фрукта (а*) и Категория («В шоколаде»)

Остается лишь нажать кнопку Применить фильтр.
Если выбрать в меню Записи/Фильтр/Расширенный фильтр, можно убедиться, что бланк запроса выглядит именно так, как на рисунке.