Разработка приложений баз данных в Delphi. Шейкер Т.Д. - 48 стр.

UptoLike

Составители: 

48
TTable.IndexName или TTable.IndexFieldName индекс не указан, то ис-
пользуется первичный ключ (главный индекс). Для фильтрации диапазона по
другому индексированному полю следует явно задать нужный индекс. При вы-
полнении фильтрации можно использовать методы класса
TTable:
procedure SetRangeStart;
procedure SetRangeEnd;
procedure ApplyRange;
procedure CancelRange;
procedure EditRangeStart;
procedure EditRangeEnd;
procedure SetRange;
Последовательность действий при выполнении фильтрации диапазона:
процедурой
SetRangeStart перевести таблицу в режим диапазона;
задать начало диапазона;
вызвать процедуру
SetRangeEnd;
задать конец диапазона;
вызвать метод
ApplyRange для выполнения фильтрации.
procedure TForm1.Button3Click(Sender:TObject);
begin
Table1.IndexName:=''; //Выбран первичный индекс
Table1.CancelRange; //Отменена фильтрация диапазона
With Table1 do
begin
SetRangeStart;
if Edit3.text<>''then Fields[0].AsString:=Edit3.text;
SetRangeEnd;
if Edit4.text<>''then ields[0].AsString:=Edit4.text;
ApplyRange;
end;
end;
Метод ApplyRange приводит запрос в действие: выводит записи, попа-
дающие в указанный диапазон. Метод
CancelRange отменяет фильтрацию.
Если для того же индекса задать новое условие фильтрации, не отменив преды-
дущее, то записи будут отбираться из уже отфильтрованного набора данных,
что часто приводит к ошибкам. Действия по заданию диапазона целесообразно
начать с отмены предыдущей фильтрации.
TTable.IndexName или TTable.IndexFieldName индекс не указан, то ис-
пользуется первичный ключ (главный индекс). Для фильтрации диапазона по
другому индексированному полю следует явно задать нужный индекс. При вы-
полнении фильтрации можно использовать методы класса TTable:
     procedure SetRangeStart;
     procedure SetRangeEnd;
     procedure ApplyRange;
     procedure CancelRange;
     procedure EditRangeStart;
     procedure EditRangeEnd;
     procedure SetRange;

     Последовательность действий при выполнении фильтрации диапазона:
     − процедурой SetRangeStart перевести таблицу в режим диапазона;
     − задать начало диапазона;
     − вызвать процедуру SetRangeEnd;
     − задать конец диапазона;
     − вызвать метод ApplyRange для выполнения фильтрации.
procedure TForm1.Button3Click(Sender:TObject);
begin
Table1.IndexName:=''; //Выбран первичный индекс
Table1.CancelRange; //Отменена фильтрация диапазона
With Table1 do
 begin
   SetRangeStart;
   if Edit3.text<>''then Fields[0].AsString:=Edit3.text;
   SetRangeEnd;
   if Edit4.text<>''then ields[0].AsString:=Edit4.text;
   ApplyRange;
 end;
end;
     Метод ApplyRange приводит запрос в действие: выводит записи, попа-
дающие в указанный диапазон. Метод CancelRange отменяет фильтрацию.
Если для того же индекса задать новое условие фильтрации, не отменив преды-
дущее, то записи будут отбираться из уже отфильтрованного набора данных,
что часто приводит к ошибкам. Действия по заданию диапазона целесообразно
начать с отмены предыдущей фильтрации.

                                    48