Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Фильтрация по диапазону

Практическая работа | Доступ к полям | Практическая работа | Практическая работа | Редактор полей | Практическая работа №7 | Глава III. Индексирование баз данных | Практическая работа | Фильтрация по выражению | Практическая работа |


Читайте также:
  1. Жаттығу. Мәліметтерді фильтрациялау.
  2. Намерения в сегментах: Избирательная Фильтрация
  3. Обеззараживание, очистка и фильтрация воды в экстремальных условиях.
  4. Сортировка и фильтрация данных
  5. Фильтрация воды
  6. ФИЛЬТРАЦИЯ ВОДЫ
  7. Фильтрация воды

 

При фильтрации по диапазону в НД включаются записи, значения полей которых попадают в заданный диапазон.

Таким образом, условием фильтрации является выражение вида " значение > нижней границы AND значение < верхней границы " (вместо операций сравнения < > могут указываться и операции <= >=).

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

Для фильтрации записей по диапазону компонент Table имеет следующие методы:

ApplyRange – активизирует фильтр (включение фильтра);

CancelRange – деактивизирует фильтр (выключение фильтра);

SetRangeStart – устанавливает нижнюю границу диапазона;

SetRangeEnd – устанавливает верхнюю границу диапазона;

EditRangeStart – изменяет предварительно заданную нижнюю границу диапазона;

EditRangeEnd – изменяет предварительно заданную верхнюю границу диапазона;

SetRange – имеет тот же эффект, что и последовательное выполнение методов SetRangeStart, SetRangeEnd и ApplyRange. Процедура позволяет одновременно задать границы диапазона и выполнить фильтрацию.

Свойство KeyExclusive типа Boolean определяет, как учитывается заданное граничное значение при анализе записей. Если KeyExclusive = False (по умолчанию), то записи, у которых значения полей фильтрации совпадают с границами диапазона, включаются в состав НД, а если KeyExclusive = True, то такие записи в НД не попадают. Свойство KeyExclusive действует отдельно для нижней и верхней границы. Значение этого свойства должно устанавливаться после вызова методов SetRangeStart, SetRangeEnd, EditRangeStart и EditRangeEnd.

 

Пример:

Table1.IndexName: ='indCena'; //установка текущего индекса indCena (создан по полю Cena таблицы Tovar.db)

Table1. SetRangeStart;

Table1. KeyExclusive: = True;

Table1.FieldByName('Cena').AsFloat: =100.5;

Записи, содержащие в поле Cena значение 100,5, не входят в отфильтрованный НД (т. к. KeyExclusive = True). Фильтрация по диапазону подчиняется условию Cena >100,5. Если бы KeyExclusive = False, то условие фильтрации выглядело бы по-другому (Cena >=100,5).

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

 


Дата добавления: 2015-07-19; просмотров: 33 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Практическая работа| Практическая работа

mybiblioteka.su - 2015-2024 год. (0.005 сек.)