ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »