Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика. Практика / Acc2007_L2_фильтр.docx
Скачиваний:
101
Добавлен:
16.03.2015
Размер:
50.38 Кб
Скачать

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

Фильтрация – отбор записей, удовлетворяющих заданным условиям.

Фильтр – набор условий, применяемых для отбора записей.

Фильтры создаются в таблицах, запросах и формах.

В MS Access 2007 предусмотрено четыре способа фильтрации: фильтр по выделенному фрагменту, фильтр по форме, обычный фильтр, расширенный фильтр.

Фильтр по выделенному фрагменту

Этот способ фильтрации применяется, если в таблице можно легко найти и выделить значение, которое должны содержать отбираемые записи.

  1. В поле таблицы выделить значение, которое должны содержать отобранные записи.

  2. На вкладке Главнаяв группеСортировка и фильтрраскрыть список кнопкиВыделение.

  3. Выбрать из списка нужный вариант.

Список кнопки Выделение зависит от типа данных выделенного значения. Например, для текстового типа это может быть «содержит», «начинается с», «заканчивается на», для числовых – «равно», «не равно», «больше», «меньше» и т. д.

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

Обычный фильтр

  1. Выполнить одно из следующих действий:

  • поместить курсор в поле, по которому нужно отфильтровать данные и на вкладке Главная в группе Сортировка и фильтр щелкнуть по кнопке Фильтр;

  • щелкнуть по кнопке раскрытия списка в заголовке столбца.

  1. В открывшемся списке приводятся все значения поля. Для фильтрации следует поставить флажки рядом с нужными значениями.

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

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

Фильтр по форме

Если отбираемые записи должны удовлетворять хотя бы одному из нескольких заданных условий (т.е. условия связаны логическим оператором ИЛИ), удобно использовать фильтр по форме.

  1. На вкладке Главнаяв группеСортировка и фильтрраскрыть список кнопкиДополнительнои выбрать командуИзменить фильтр.

Появится окно фильтра, содержащее линейку полей таблицы. В эти поля вводятся условия отбора.

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

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

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

  1. После ввода всех условий отбора на вкладке Главнаяв группеСортировка и фильтрщелкнуть по кнопкеПрименить фильтрили выбрать командуПрименить фильтрв контекстном меню окна фильтра.

Расширенный фильтр

  1. На вкладке Главнаяв группеСортировка и фильтрраскрыть список кнопкиДополнительнои выбрать командуРасширенный фильтр.

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

  • дважды щелкнуть мышью по имени нужного поля в списке полей, расположенном в верхней части окна;

  • перетащить мышью нужное поле из списка полей в строку Поле;

  • выбрать имя нужного поля из раскрывающегося списка в строке Поле.

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

  2. Ввести условия отбора. Для ввода условий отбора используются строки Условие отбораиили. Условия, находящиеся в одной строке, связываются логическим операторомИ; условия, находящиеся в разных строках – логическим операторомИЛИ(следует иметь в виду, что в бланке расширенного фильтра имеется несколько строкили).

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

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

  1. После ввода всех условий отбора на вкладке Главнаяв группеСортировка и фильтрщелкнуть по кнопкеПрименить фильтрили выбрать командуПрименить фильтрв контекстном меню окна фильтра.

Чтобы отменить фильтр любого типа, надо повторно щелкнуть по кнопке Применить фильтр или выбрать команду снять фильтр в контекстном меню таблицы.

Использование выражений в фильтрах

Условия отбора в фильтрах задаются с помощью выражений.

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

Идентификатор – элемент выражения, определяющий ссылку на значение поля.

Существуют идентификаторы двух видов: полные и неполные. Неполный идентификатор – собственно имя поля. Полный идентификатор является составным: он состоит из имени таблицы и имени поля, разделенных символом «!». Имена полей и таблиц заключаются в квадратные скобки. Например, [Заказы]![Название фирмы] – идентификатор поля Название фирмы в таблице Заказы.

Константы – конкретные значения полей. Текстовые константы заключаются в кавычки. Константы даты/времени выделяются символами «#».

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

Операторы – знаки операций над данными:

  • арифметические операторы: +, -, *, /, \, mod;

  • операторы сравнения: <, <=, >, >=, =, <>;

  • логические операторы: and, or, not;

  • операторы сравнения с образцом: Between, In, Like;

  • оператор слияния строковых значений (конкатенации): &.

Условия отбора в фильтрах можно разделить на два типа:

  1. условия, не содержащие операций над полем;

  2. условия, содержащие операции над полем.

К первому типу относятся условия вида:

<имя поля> <оператор сравнения> <значение>,

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

Например,

[Должность] = «инженер»;

[Дата найма] <= #15/05/90#;

([Оклад]>3000) and ([Оклад]<5000);

[Зарплата] = Between 2500 and 4000;

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

«инженер»;

<=#15/05/90#;

(>3000) and (<5000);

Between 2500 and 4000;

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

Например, если условие накладывается на возраст (допустим, старше 18 лет), а в таблице имеется поле Дата рождения, то в строку Поле в окне расширенного фильтра следует ввести выражение:

(Date()-[Дата рождения])\365,

а в строку Условие отбора: >18.

В окно фильтра по форме это условие вводится в виде:

(Date()-[Дата рождения])\365>18

причем не имеет значения, в какой столбец оно будет введено.

Пояснение: в приведенном примере функция Date() возвращает текущую дату.

Соседние файлы в папке Информатика. Практика