Фильтрация по составному индексу

Если индекс, по которому необходимо осуществить фильтрацию, состоит из более чем одного поля:

· при использовании метода SetRange значения полей должны перечисляться че­рез запятую внутри квадратных скобок;

· при использовании SetRangeStart, SetRangeEnd и т. д. значение каждого поля должно устанавливаться явно.

Пример. Пусть рассмотренный выше НД отсортирован по индексу, состоящему из полей GrNum и Tovar. Реализуем фильтрацию записей по заданному значению поля GrNum и любому значению поля Tovar. Для простоты проверку правильности ввода но­мера группы не производим. Обработчик выбора CheckBox1 «Фильтровать» выглядит так:

procedure TForm1.CheckBox1Click(Sender: TObject);

var

GrNumTmp: Integer;

TovarTmp: String;

Begin

if CheckBoxl.Checked then

Begin

GrNumTmp:= StrToInt(Edit1.Text);

TovarTmp:= Edit2.Text;

{------------фильтрация записей в НД----------}

with Table1 do

Begin

CancelRange;

SetRange([GrNumTmp,TovarTmp], [GrNumTmp,'яя']);

end; {with}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: