Навигация по записям

Фильтрация

Поиск методом GoToKey

GoToKey поск по индексированному полю. Сначала необходимо подключить соответствующий индекс. Перейти в режим поиска. Затем задать искомое значение и осуществить сам поиск. По окончанию поиска набор данных самопроизвольно перейдет в состояние dsBrowse.

 

Пример: Выполним поиск записи в таблице Table1. Найдем запись со значением поля Cfam ‘Cмирнов’. По полю Сfam существует индекс FamInd.

 

{ Подключим индекс FamInd}

 

Table1.Active:=False;

Table1.IndexName:=’FamInd’;

Table1. Active:=True;

Table1.SetKey:=true; { Перейдем в состояние поиска}

Table1.FieldByName(‘Cfam’).AsString:=’Смирнов’; {Зададим искомое значение поля Cfam, поле Сfam рассматривается как символьное}

Table1.GotoKey; {Поиск}

 

Фильтрация позволяет выбрать записи, которые отвечают некоторому условию. Остальные записи временно исчезнут.

 

Методы SetRangeStart и SetRangeEnd переводят таблицу в режим задания границ фильтрации.

 

Пример: Отфильтруем таблицу Table1 по полю Zarplata, отберем записи cо значениями поля Zarplata в пределах от 3000 до 8000. Граница поиска ставиться методом FieldByName

 

Table1.SetRangeStart; {Установим нижнюю границу поиска}

Table1.FieldByName(‘Zarplata’).AsInteger:=3000;

Table1.SetRangeEnd; {Установим верхнюю границу поиска}

Table1.FieldByName(‘Zarplata’).AsInteger:=8000;

Table1.SetRangeStart;

переводит набор данных в режим установки

В каждый момент времени только одна запись является текущей,

Таблица Table1

 

Поле 1 Поле 2 Поле 3 Поле 4 Поле 5 Пусть запись 2 -текущая
Запись 1 Запись 2 Запись 3

       
         
         

 

Тогда запись 2 будет высвечиваться в большинстве визуальных компонентов, связанных с Table1. Именно она будет появляться на экране.

 

Для навигации по записям используются методы:

 

Метод Назначение Пример для таблицы Table1 Пояснение
Next Следующая Table1.Next; Переходим к следующей записи таблицы. Если достигнут конец таблицы, переход происходить не будет, каких-либо сообщений об ошибках тоже не появиться
Prior Предыдущая Table1.Prior; Переходим к предыдущей записи таблицы. Аналогична Next.
First Первая Table1.First; Переходим к первой записи таблицы.
Last Последняя Table1.Last; Переходим к последней записи таблицы
MoveBy (n) Переход на n записей к концу (n>0) или началу (n<0) таблицы Table1.MoveBy (2); Сместимся на 2 записи к концу таблицы.