Фильтрация данных

В Microsoft Access предусмотрено четыре способа отбора записей с помощью фильтров: фильтр по выделенному фрагменту, обычный фильтр, поле Фильтр для (Filter For) и расширенный фильтр.

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

Набор записей, которые были отобраны в процессе фильтрации, называется результирующим набором.

Чтобы использовать фильтр по выделенному фрагменту, необходимо:

  1. В поле объекта в режиме Таблицы найти значение, которое должны содержать записи, включаемые в результирующий набор при применении фильтра.
  2. Выделить это значение и нажать кнопку Фильтр по выделенному (Filter by Selection) на панели инструментов Режим таблицы (Table Datasheet).

Замечание

Фильтры сохраняются автоматически при сохранении таблицы или формы. Таким образом, при повторном открытии таблицы или формы можно снова применить сохраненный фильтр.


Совет

Фильтр позволяет отбирать записи, не содержащие выбранного значения. Для этого необходимо выбрать значение, нажать правую кнопку мыши и выполнить команду Исключить выделенное (Filter Excluding Selection).

На рис. 2.57 показан результирующий набор, полученный применением фильтра по выделенному к таблице "Заказы" (Orders) демонстрационной базы данных (Northwind). Чтобы получить такой результат:

  1. Откройте таблицу "Заказы" в режиме Таблицы.
  2. Выделите в столбце "Клиент" какое-нибудь значение, например Ernst Handel.
  3. Нажмите кнопку Фильтр по выделенному (Filter by Selection) на панели инструментов.
Результирующий набор записей после применения фильтра по выделенному
Рис. 2.57. Результирующий набор записей после применения фильтра по выделенному

Чтобы отменить фильтр, необходимо нажать на кнопку Удалить фильтр (Remove Filter) на панели инструментов Режим таблицы (Table Datasheet) или воспользоваться одноименной командой контекстного меню.

Access запоминает последний применяемый фильтр, поэтому если теперь нажать на кнопку Применение фильтра (Apply Filter) на панели инструментов, вновь будут отобраны те же записи.

Кнопки Применение фильтра (Apply Filter) и Удалить фильтр (Remove Filter) являются по сути одной кнопкой, состояние (нажата, отжата) и подпись которой меняются в зависимости от того, установлен или нет фильтр для таблицы. Еще одним признаком, по которому можно узнать, что в таблице отображаются отфильтрованные записи, является слово ФЛТР (FLTR) в строке состояния окна приложения.

Для того чтобы установить фильтр по выделенному фрагменту, можно воспользоваться также командой контекстного меню Фильтр по выделенному (Filter by Selection) или выбрать из меню Записи (Records) команду Фильтр, Фильтр по выделенному (Filter, Filter by Selection).

Похожей возможностью фильтрации записей обладает поле Фильтр для (Filter For). Его можно использовать в том случае, когда не удается быстро найти образец отбора в столбце таблицы.

Чтобы использовать возможности поля Фильтр для (Filter For), необходимо:

  1. Открыть таблицу в режиме Таблицы.
  2. Щелкнуть правой кнопкой мыши на поле, для которого нужно указать условие отбора, а затем ввести значение условия отбора в поле Фильтр для (Filter For) в контекстном меню (рис. 2.58).
Поле ФИЛЬТР ДЛЯ в контекстном меню
Рис. 2.58. Поле Фильтр для в контекстном меню

Чтобы применить фильтр и закрыть контекстное меню, нужно нажать клавишу <Enter>, а чтобы применить фильтр и оставить контекстное меню открытым — клавишу <Таb>. При этом можно вводить в поле Фильтр для (Filter For) новые значения и по нажатии клавиши <Таb> обновлять содержимое выборки.

Замечание

В поле Фильтр для (Filter For) можно указывать не только конкретные значения, но и выражения, требующие вычислений.

Чтобы применить обычный фильтр, необходимо:

  1. Открыть таблицу в режиме Таблицы (например, откройте таблицу "Заказы" (Orders)).
  2. Нажать кнопку Изменить фильтр (Filter by Form) на панели инструментов Режим таблицы (Table Datasheet). Появится форма фильтр (Filter by form) — специальное окно для изменения фильтра (рис. 2.59). Форма содержит линейку полей таблицы. В любое из этих полей можно ввести или выбрать из списка значение, которое и будет являться условием отбора. Если условия ввести в несколько полей, они будут объединяться с помощью логического оператора И. Для того чтобы объединить условия по ИЛИ, нужно раскрыть другую вкладку формы, щелкнув по ярлычку Или в нижней части формы.
    Окно изменения фильтра
    Рис. 2.59. Окно изменения фильтра
  3. Выберите, например, значение Ernst Handel из списка в поле Клиент (Customer) и дату 1.01.98 в поле Дата размещения. Добавьте значок > перед датой. При этих условиях Access будет отбирать все заказы для Ernst Handel, размещенные после 1 января 1998 года.
  4. Щелкните мышью по ярлычку Или и раскройте вторую вкладку.
  5. Выберите из списка в поле Клиент (Customer) значение. Alfreds Futterkiste, а в поле Дата размещения снова введите значение > 1.01.98. Теперь будут отбираться заказы двух клиентов: Ernst Handel и Alfreds Futterkiste, размещенные после 1 января 1998 года.
  6. Нажмите кнопку Применение фильтра (Apply Filter) на панели инструментов. Результирующий набор записей показан на рис. 2.60.

Замечание

При вводе условий отбора в поля формы можно использовать любые выражения, которые возможны в Access (см. разд. "Выражения в Access"гл. 4).

Условия отбора записей, которые вводятся в поля формы фильтр (Filter by Form), можно сохранить в базе данных в виде запроса. Для этого необходимо при открытой форме фильтр (Filter by Form) нажать кнопку Сохранить как запрос (Save As Query) на

панели инструментов. Затем в диалоговом окне Сохранение в виде запроса (Save As Query) ввести имя запроса и нажать кнопку ОК. Когда потребуется повторить установку такого фильтра, нужно опять же при открытой форме фильтр (Filter by Form) нажать кнопку Загрузить из запроса (Load from Query) на панели инструментов.

Результирующий набор записей после применения обычного фильтра
Рис. 2.60. Результирующий набор записей после применения обычного фильтра

Создание расширенного фильтра, как более сложного, будет рассматриваться в гл. 4.

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

Экспорт данных из выборки позволяет сохранить их в отдельном файле. Чтобы экспортировать данные, необходимо:

  1. Выбрать в меню Файл (File) команду Экспорт (Export).
  2. В окне Экспорт объекта: Таблица <имя таблицы> в (Export Table <имя таблицы> to) выбрать папку для экспорта файла.
  3. В поле Имя файла (File Name) ввести имя файла, в который осуществляется экспорт.
  4. В поле Тип файла (Save as Type) выбрать тип файла, в который осуществляется экспорт.
  5. Нажать кнопку Сохранить все (Export All).

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

  1. Выбрать в меню Файл (File) команду Отправить (Send To).
  2. Из раскрывающегося меню выбрать пункт Почтовый клиент (Mail Recipient (as Attachment)).
  3. В окне Послать (Send) выбрать тип файла.
  4. Нажать кнопку ОК и далее выполнить стандартную процедуру для отправки почтового сообщения в своем почтовом клиенте.