ВУЗ:
Составители:
Рубрика:
40
GrTmp, NNTmp: Integer;
begin
GrTmp := StrToInt(Editl.Text);
NNTmp := StrToInt(Edit2.Text);
// поиск записей
Table2.FindNearest([GrTmp,NNTmp]);
end;
Если в поле Edit1 введено значение 12 и в поле Edit2 введено значение 4. Тогда
указатель переместится на запись «Кефир»:
NumGr NN Tovar
1 10 Макароны
12 1 Вода минеральная
12 4 Кефир
12 26 Груши
100 1 Конфеты «Ласточка»
100 10 Крупа гречневая
Если в поле Edit1 введено значение 12 и в поле введено значение Edit2 – 0, то указатель
переместится на запись с большим значением индекса. Наращивание индекса ведется по
внутреннему полю (если оно есть) и только затем - по полю более высокого приоритета. В
нашем случае внутреннее поле в индексе - поле NN и будет выбрана запись «Вода
минеральная»:
NumGr NN Tovar
1 10 Макароны
12 1 Вода минеральная
12 4 Кефир
12 26 Груши
100 1 Конфеты «Ласточка»
100 10 Крупа гречневая
Если в поле Edit1 введено значение 50, в поле Edit2 введено значение 0 (или что-либо
другое, для данного состояния набора данных это неважно), записи с той же группой (50) и
большим значением номенклатурного номера нет. Поэтому указатель записи перемещается
на запись с большим номером группы:
NumGr NN Tovar
1 10 Макароны
12 1 Вода минеральная
12 4 Кефир
12 26 Груши
100 1 Конфеты «Ласточка»
100 10 Крупа гречневая
Заметим, что теоретически можно опускать в условиях поиска значение внешнего поля
индекса (в нашем случае поля NumGr). Например, можно задать в поле Edit1 значение 0, а
в поле Edit2 - 1. Однако, вопреки ожиданиям, курсор набора данных не встанет на первую
запись с номенклатурным номером 1 для первой попавшейся группы, а встанет на первую
запись с группой, превышающей 0, т.е. на логически первую запись в наборе данных при
сортировке по полям NumGr, NN:
GrTmp, NNTmp: Integer;
begin
GrTmp := StrToInt(Editl.Text);
NNTmp := StrToInt(Edit2.Text);
// поиск записей
Table2.FindNearest([GrTmp,NNTmp]);
end;
Если в поле Edit1 введено значение 12 и в поле Edit2 введено значение 4. Тогда
указатель переместится на запись «Кефир»:
NumGr NN Tovar
1 10 Макароны
12 1 Вода минеральная
12 4 Кефир
12 26 Груши
100 1 Конфеты «Ласточка»
100 10 Крупа гречневая
Если в поле Edit1 введено значение 12 и в поле введено значение Edit2 – 0, то указатель
переместится на запись с большим значением индекса. Наращивание индекса ведется по
внутреннему полю (если оно есть) и только затем - по полю более высокого приоритета. В
нашем случае внутреннее поле в индексе - поле NN и будет выбрана запись «Вода
минеральная»:
NumGr NN Tovar
1 10 Макароны
12 1 Вода минеральная
12 4 Кефир
12 26 Груши
100 1 Конфеты «Ласточка»
100 10 Крупа гречневая
Если в поле Edit1 введено значение 50, в поле Edit2 введено значение 0 (или что-либо
другое, для данного состояния набора данных это неважно), записи с той же группой (50) и
большим значением номенклатурного номера нет. Поэтому указатель записи перемещается
на запись с большим номером группы:
NumGr NN Tovar
1 10 Макароны
12 1 Вода минеральная
12 4 Кефир
12 26 Груши
100 1 Конфеты «Ласточка»
100 10 Крупа гречневая
Заметим, что теоретически можно опускать в условиях поиска значение внешнего поля
индекса (в нашем случае поля NumGr). Например, можно задать в поле Edit1 значение 0, а
в поле Edit2 - 1. Однако, вопреки ожиданиям, курсор набора данных не встанет на первую
запись с номенклатурным номером 1 для первой попавшейся группы, а встанет на первую
запись с группой, превышающей 0, т.е. на логически первую запись в наборе данных при
сортировке по полям NumGr, NN:
40
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »
