Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access.DOC
Скачиваний:
28
Добавлен:
13.08.2019
Размер:
4.15 Mб
Скачать

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

Для установки расширенного фильтра:

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

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

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

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

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

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

  4. Введите условия отбора.

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

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

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

Рис. 1

  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() возвращает текущую дату).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]