При использовании фильтрации по выражению набор данных ограничивается записями, удовлетворяющими фильтру, задающему условия отбора записей.
Достоинство фильтрации по выражению состоит в том, что она применима к любым полям, в том числе к неиндексированным. Поскольку в процессе отбора просматриваются все записи таблицы, фильтрация по выражению эффективна при небольшом количестве записей.
Выражение фильтра представляет собой конструкцию, в состав которой могут входить следующие элементы:
- Имена полей таблиц;
- Литералы;
- Операции сравнения;
- Логические операции.
Если имя поля содержит русские буквы, то его заключают в квадратные скобки.
Литерал представляет собой значение, заданное явно (например, число, строка или символ).
Операции сравнения:
- = - равно
- < - меньше
- > - больше
- <= - меньше и равно
- >= - больше и равно
- <> - не равно.
В качестве логических операций можно использовать AND, OR, NOT.
В качестве примера задания условий фильтрации приведем следующие выражения:
[Площадь] <= '400'
[Тип] = 'Линейный' or 'Точечный'
Первое выражение обеспечивает отбор всех записей, для которых значение поля площади не превышает 400, а второе - отбор записей, поле Тип которых содержит значение Линейный или Точечный.
Для символьных полей возможен поиск по частичному совпадению. С этой целью используется символ ‘*’, который заменяет последовательность символов произвольной длины. Предположим, необходимо составить список городов, чьи названия начинаются на букву “А”:
[Пункт] = 'А*'
Выходные данные для этого запроса представлены на рисунке 17.
РиРисунок 17– Окно База данных для карты
Символьные значения рекомендуется заключать в одиночные апострофы (например, 'Москва').