Здавалка
Главная | Обратная связь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- арифметические операторы: +, -, *, /, \, 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() возвращает текущую дату.

Практическая работа 2

Сортировка данных

1. В таблице Служебные сведения базы данных Институт отсортировать данные:

- по фамилиям в возрастающем порядке;

- по датам найма в убывающем порядке;

- по номерам отделов, а в отделах – по фамилиям в возрастающем порядке.

2. В таблице Товары базы данных Торговый дом отсортировать записи по фирмам, а для одинаковых значений поля Название фирмы – по товарам.

Поиск данных

3. В таблице Заказы базы данных Торговый дом выполнить поиск записей о заказах на заданный товар.

4. В таблице Служебные сведениябазы данных Институтвыполнить поиск записей о сотрудниках с заданной должностью.

5. В таблице Личные сведениябазы данных Институтвыполнить поиск записей: о сотрудниках со средним и средним специальным образованием.

Замена данных

6. В таблице Продавцы базы данных Торговый дом выполнить замену в поле Фамилия (обратите внимание на автоматическую замену этой фамилии в подчиненной таблице Заказы).

7. В таблице Личные сведения базы данных Институт выполнить выборочную замену в поле Наличие детей: изменить значение «Нет» на «Бездетный». Выполнить обратную замену (т. е. «Бездетный» на «Нет») в автоматическом режиме.

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

8. Используя фильтр по выделенному фрагменту, в таблице Заказы базы данных Торговый дом отобрать записи, содержащие:

- заданный товар;

- заданный товар и заданного клиента;

- все товары, за исключением заданного.

9. Используя обычный фильтр, в таблице Товары базы данных Торговый дом отобрать записи о товарах заданной фирмы.

10. Используя фильтры дат, в таблице Служебные сведения базы данных Институт отобрать данные о сотрудниках, нанятых на работу:

- в заданном диапазоне дат;

- в прошлом году.

11. Используя текстовые фильтры, в таблице Заказы базы данных Торговый дом отобрать записи, содержащие:

- заданный товар;

- два заданных товара;

- все товары, за исключением заданного.

12. Используя текстовые фильтры, в таблице Личные сведения базы данных Институт отобрать данные о сотрудниках со средним и средним специальным образованием.

13. Используя фильтр по форме, в таблице Заказы базы данных Торговый дом отобрать записи о заказах на товары двух видов.

14. Используя фильтр по форме, в таблице Личные сведения базы данных Институт отобрать данные о сотрудниках со средним или средним специальным образованием.

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

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

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

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

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

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

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.