i>
· Логічні операції
· Круглі і квадратні дужки
Якщо ім'я поля містить пробіли, то його укладають у квадратні дужки, в іншому випадку квадратні дужки необов'язкові.
Літерал представляє собою значення, задане явно (наприклад, число, рядок або символ).
В якості логічних операцій можна використовувати and, or і not .
Для активізації і деактивизации фільтра використовується властивість Filtered i> типу Воо1еап. За умовчанням це властивість має значення false, тобто фільтрації не відбувається.
Фільтрація за діапазоном . При фільтрації по діапазону в набір даних будуть включені ті записи, значення полів яких відповідають заданому діапазону. Таким чином, умовою фільтрації є вираз виду значення> нижньої межі AND значення < верхньої межі, в якому замість операцій порівняння < і> можуть зазначатися операції <= і> =. Така фільтрація застосовується до наборів даних Table.
Перевагою зазначеного способу фільтрації є швидкість обробки записів. На відміну від способу фільтрації за висловом, коли послідовно проглядаються всі записи таблиці, фільтрація відбувається з використанням індексів індексного-послідовним методом. Однак цей спосіб фільтрації можна застосовувати тільки для індексованих полів. Індекс поля, діапазон якого діє для відбору записів, повинен бути встановлений як поточний індекс за допомогою властивості IndexName або IndexFieldNames. Якщо поточний індекс не встановлений, то за замовчуванням використовується головний індекс.
Для включення і виключення фільтрації по діапазону застосовуються методи ApplyRange і CancelRange. Перший активізує фільтр, а другий - деактивізує. Попередньо для індексного поля (полів), по якому виконується фільтрація, слід задати діапазон допустимих значенні.
Методи SetRangeStart і SetRangeEnd встановлюють межі діапазону. Ці процедури не мають параметрів, тому потрібно використовувати оператор присвоювання.
Таким чином, методи SetRangeStart і SetRangeEnd переводять набір даних в режим dsSetKey, а за допомогою оператора присвоєння задається діапазон.
Для зміни меж діапазону призначені методи EditRangeStart і EditRangeEnd, дія яких аналогічна дії методів SetRangeStart і SetRangeEnd.
Спільно з цими методами використовується властивість KeyExclusive типу Boolean, яке визначає, як враховувати задане граничне значення при аналізі записів. Якщо властивість KeyExclusive має значення False (за замовчуванням), то записи c значенням поля, за яким виконується фільтрація, рівним межі діапазону, включаються до складу набору даних. Якщо властивість має значення True, то записи з названим значенням поля в набір даних не включаються.
Для скасування фільтрації, виконаної за допомогою методів ApplyRange або SetRange, використовується метод CancelRange. Інший варіант скасування попередньої фільтрації - завдання нових меж діапазону, наприклад, методами SetRangeStart і SetRang...