ВУЗ:
Составители:
Рубрика:
36
FieldByName('NumGr').AsInteger:= NumGrTmpl;
SetRangeEnd;
FieldByName('NumGr').AsInteger := NumGrTmp2;
ApplyRange;
end; //with
Фильтрация по составному индексу (индекс состоит из нескольких полей)
осуществляется
• при использовании метода SetRange. Значения полей должны перечисляться
через запятую внутри квадратных скобок.
• при использовании SetRangeStart, SetRangeEnd и т.д. Значение каждого поля
должно устанавливаться явно.
// Набор данных отсортирован по индексу, состоящему из полей NumGr и Tovar
procedure TFormA.CheckBox2Click(Sender: TObject);
NumGrTmp: Integer;
TovarTmp: String;
begin
if CheckBox2.Checked then
begin
NumGrTmp := StrToInt(Edit1.Text);
TovarTmp := Edit2.Text;
//фильтрация записей в НД
with Table2 do
begin
CancelRange;
SetRange([NumGrTmp,TovarTmp],[NumGrTmp,'яя ' ]) ;
end; //
end
else
//отмена фильтрации
Table2.CancelRange;
end;
Реализацию выборки обеспечивает оператор
SetRange([NumGrTmp,TovarTmp],[NumGrTmp,'яя']);
Если требуется показывать в наборе данных все записи группы, начинающиеся со
значения, введенного в поле Edit2, то в качестве значения товара в конечном условии
фильтрации нужно объявить максимально возможное значение, которое только может
встретиться в качестве названия товара. Поскольку строчные буквы имеют большие коды,
чем заглавные, и название товара не может начинаться с 'яя', эти символы вполне могут
использоваться как верхний ограничитель наименования товара.
Если введено значение для группы товара в поле Edit1 и не введено наименование
товара в поле Edit2, то в отфильтрованный набор данных попадут все товары данной группы.
Если введено значение для группы товара в поле Edit1 и введено наименование товара
в поле Edit2, то в отфильтрованный набор данных попадут товары данной группы, у
которых наименование больше или равно значению, введенному в поле Edit2.
2. . Используя таблицы из базы данных DBDEMOS создать приложение, в котором
организовать фильтрацию по составному индексу.
FieldByName('NumGr').AsInteger:= NumGrTmpl; SetRangeEnd; FieldByName('NumGr').AsInteger := NumGrTmp2; ApplyRange; end; //with Фильтрация по составному индексу (индекс состоит из нескольких полей) осуществляется • при использовании метода SetRange. Значения полей должны перечисляться через запятую внутри квадратных скобок. • при использовании SetRangeStart, SetRangeEnd и т.д. Значение каждого поля должно устанавливаться явно. // Набор данных отсортирован по индексу, состоящему из полей NumGr и Tovar procedure TFormA.CheckBox2Click(Sender: TObject); NumGrTmp: Integer; TovarTmp: String; begin if CheckBox2.Checked then begin NumGrTmp := StrToInt(Edit1.Text); TovarTmp := Edit2.Text; //фильтрация записей в НД with Table2 do begin CancelRange; SetRange([NumGrTmp,TovarTmp],[NumGrTmp,'яя ' ]) ; end; // end else //отмена фильтрации Table2.CancelRange; end; Реализацию выборки обеспечивает оператор SetRange([NumGrTmp,TovarTmp],[NumGrTmp,'яя']); Если требуется показывать в наборе данных все записи группы, начинающиеся со значения, введенного в поле Edit2, то в качестве значения товара в конечном условии фильтрации нужно объявить максимально возможное значение, которое только может встретиться в качестве названия товара. Поскольку строчные буквы имеют большие коды, чем заглавные, и название товара не может начинаться с 'яя', эти символы вполне могут использоваться как верхний ограничитель наименования товара. Если введено значение для группы товара в поле Edit1 и не введено наименование товара в поле Edit2, то в отфильтрованный набор данных попадут все товары данной группы. Если введено значение для группы товара в поле Edit1 и введено наименование товара в поле Edit2, то в отфильтрованный набор данных попадут товары данной группы, у которых наименование больше или равно значению, введенному в поле Edit2. 2. . Используя таблицы из базы данных DBDEMOS создать приложение, в котором организовать фильтрацию по составному индексу. 36
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »