Фильтрация по содержимому столбца
Основная команда фильтрации позволяет отобрать записи на основе заданного критерия. Это означает, что команда выводит на экран только записи, удовлетворяющие критерию, и скрывает остальные записи. Предположим, в таблице Customers(Клиенты) базы данных Борей 2010 .accdbнужно отфильтровать записи по городам, т.е. вывести записи, в которых поле Городимеет заданные значения, а остальные записи скрыть. Для этоговыполните следующие действия.
1. Откройте таблицу в режиме таблицы. Щелкните на маленьком треугольнике, расположенном справа от имени столбца Город.
Активизируется диалоговое окно сортировки и фильтрации (рис. 8.4).
Не щелкайте на заголовке столбца правой кнопкой мыши. Щелчок правой кнопкой активизирует контекстное меню, в котором есть команды сортировки, но нет команд фильтрации.
2.Снимите флажки напротив значений поля (т.е. названий городов), которые нужно исключить в процессе фильтрации.
Снятие флажка Выделить все (Select All) приводит к снятию всех флажков. После этого легче установить флажки только напротив нескольких значений. Когда все флажки установлены, фильтр выведет все записи таблицы.
Рис. 8.4. фильтрация записей по одному столбцу.
3.Установите флажки напротив значений, которые нужно вывести в результате фильтрации.
Например, установите флажки напротив значений Москва, Воронеж, Уфа, Казань.Фильтр просмотрит столбец и найдет записи, в которых поле содержит одно из заданных значений.
4. Щелкните на кнопке ОК.
Будут выведены все записи, удовлетворяющие заданному критерию, т.е. записи которых поле Городимеет значение Москва, Воронеж, Уфа, Казань.
Чтобы вновь увидеть все записи таблицы, выполните одно из следующих действий.
· Щелкните на кнопке Удалить фильтр (Toggle Filter), расположенной в разделе Сортировка и фильтр вкладки Главная.
· Щелкните на маленьком треугольнике, расположенном справа от заголовка столбца, и выберите команду Снять фильтр с (Clear Filter From).
В результате любой из этих операций будет выведена вся таблица. Учитывайте, что при щелчке на кнопке Удалить фильтр он не удаляется, а только переключается. При повторном щелчке опять будет выведена отфильтрованная таблица. В то же время в результате запуска команды Снять фильтр с фильтр будет полностью удален из таблиц базы данных.
Фильтрация по выделению
Команда фильтрации по выделению наиболее легкая. С ее помощью можно найти записи, в которых поле совпадает с выделенным полем. Представьте себе, будто вы на улице подошли к некоторому человеку, взяли его за руку и крикнули: "Минуточку внимания! Все, у кого рубашка такого же цвета, как у этого человека, подойдите ко мне!". Предположим, нужно найти в таблице Клиенты базы данных Борей все компании, в которых представитель занимает должность начальника отдела снабжения. Для этого выполните следующие действия.
1. Активизируйте таблицу в режиме таблицы. Щелкните на заголовке столбца.
В нашем примере — на заголовке столбца Должность.
2. Прокрутите таблицу вниз и найдите запись, в которой поле Должность имеет значение Начальник отдела снабжения.
3. Щелкните в поле, чтобы выделить его. Щелкните на кнопке Выделение (Selection), расположенной в разделе Сортировка и фильтр вкладки Главная. Выберите команду Равно "Начальник отдела снабжения" (рис 8.5).
Рис. 8.5. Создание фильтра по выделению.
Будет выведена таблица, содержащая только записи, в которых поле Должность имеет значение Начальник отдела снабжения.
4. Просмотрев результат фильтрации, щелкните на кнопке Удалить фильтр.
Вновь будет выведена вся таблица.
На этом этапе было бы неплохо сохранить результат фильтрации. Однако простота фильтра в данном случае обернулась его недостатком. Чтобы сохранить результат фильтрации, нужно создать запрос.
Фильтрация по форме
Ограничить поиск необходимых записей можно путем добавления дополнительны фильтров, которые устранят нежелательные совпадения, однако для этого нужны значительные усилия. Более легкий способ состоит в изоляции группы записей на основе значений одного или нескольких полей с помощью фильтра по форме.
В фильтре по форме для "просеивания" записей используется несколько критериев. Фильтр по форме настолько похож на простой запрос, что можно даже сказать, что это он и есть. В то же время, к формам, как ни странно, по форме не имеет никакого отношения.
Предположим, на основе таблицы Заказыбазы данных нужносоздать список заказов, обслуживаемых сотрудником Куликов Евгенийи сделанный городе Омск.Для решения этой задачи можно либо применить фильтр по форме, либодва раза подряд применить фильтр по выделению, рассмотренный в предыдущем pay деле. Любую работу лучше делать не два раза, а один. К тому же, при решении более сложных задач преимущества фильтра по форме по сравнению с фильтром по выделению более ощутимы.
Чтобы применить фильтр по форме для решения задачи, приведенной в предыдущем абзаце, выполните следующие действия.
1. Откройте таблицу Заказы в режиме таблицы. В разделе Сортировка и фильтр вкладки Главнаящелкните на кнопке Дополнительно.
Активизируется контекстное меню.
2. Выберите в контекстном меню команду Изменить фильтр(Filter by Form).
Таблица будет замещена строкой заголовков с одним пустым полем под каждым заголовком (рис. 8.6).
3. Щелкните в поле столбца, для которого нужно добавить критерий.
Если нужного столбца на экране нет, прокручивайте заголовки по горизонтали, пока не увидите его.
Рис. 8.6. Задания критерия для поля сотрудник.
В результате щелчка будет выведена стрелочка раскрывающегося списка.
• Обычно Access выводит стрелочку раскрывающегося списка в поле первого столбца.
• Если перед этим к таблице применялась команда фильтрации, Access располагает стрелочку раскрывающегося списка в поле столбца, фильтровавшегося последним.
4. Щелкните на стрелочке раскрывающегося списка.
Будет выведен список уникальных значений столбца (рис. 11.7). Если некоторое значение в столбце повторяется, в списке оно будет выведено только один раз.
5. В раскрывшемся списке щелкните на значении, по которому должны фильтроваться записи.
При щелчке на значении текстового столбца оно будет автоматически заключено в двойные кавычки. Обратите внимание на то, что столбец Сотрудник не текстовый.
6. Если нужно добавить в критерий еще одно значение этого же столбца, щелкните на корешке вкладки Или (Оr), расположенном в нижней части рабочей области.
Будет выведено новое окно фильтрации по форме (рис. 8.8),в котором можно задавать дополнительные критерии.
Рис. 8.7. Список уникальных значений поля Сотрудник.
Пока что не щелкайте на корешке вкладки Или.
7. Выполните пп. 3—5 для столбца Город получателя. Выберите в скрывающемся списке значение Омск.
8. Щелкните на кнопке Применить фильтр, расположенной на ленте.
Результат фильтрации показан на рис. 11.9. Выведены только заказы, обслуживаемые сотрудником Куликов Евгений и сделанные в городе Омск.
Рис. 8.9. Результат работы фильтра по форме.
Применение дополнительных вкладок Илинастолько усложняет фильтр nо форме, что понять принцип его работы для начинающего пользователя становится невозможно. Для создания более сложных критериев фильтрации лучше применять запросы, которые мы рассмотрим позже.
Посмотрев на результат фильтрации, удалите фильтр. Чтобы временно вернуться к исходной таблице, щелкните на кнопке Фильтр, расположенной на ленте. Однако учитывайте, что эта кнопка не удаляет, а только временно отключает фильтр. При повторном щелчке на ней результат фильтрации опять появится на экране. Чтобы удалить фильтр навсегда, нужно удалить его с каждого столбца индивидуально. Для этого щелкните в таблице справа от заголовка столбца и выберите команду Снять фильтр с (Clear Filter From). Повторите эту операцию для каждого столбца, в котором .установлен фильтр.
Редактирование фильтра
Независимо от того, каким способом был создан фильтр, его легко отредактировать, для этого в строке заголовков щелкните справа от имени столбца, в котором установлен фильтр. В открывшемся окне можно задать сортировку результата фильтрации по значениям столбца или изменить набор значений столбца, по которым выполняется фильтрация. Например, если нужно найти записи заказов Евгения Куликова не по Омску, а по Москве и Вологде, щелкните справа от имени столбца Городполучателя, снимите флажок Омски установите флажки Москваи Вологда.