ВУЗ:
Составители:
Рубрика:
39
Пусть в Edit1 введено 12 и в Edit2 - 4. Тогда указатель переместится на запись, у которой
значение NumGr равно 12 и значение поля NN равно 4:
NumGr NN Tovar
1 10 Макароны
12 1 Вода минеральная
12 4 Кефир // Перемещение указателя текущей записи
12 26 Груши
100 1 Конфеты «Ласточка»
100 10 Крупа гречневая
Для точного поиска в Delphi имеется группа методов SetKey, EditKey, GotoKey,
которые должны выполняться вместе, и которые по функциональности аналогичны методу
FindKey. Использование их менее удобно: сначала набор данных переводится в состояние
dsSetKey (методом SetKey или, если он уже применялся для данного индекса, EditKey),
затем присваиваются поисковые значения полям и выполняется метод GotoKey. После
этого набор данных переходит в состояние dsBrowse. Результат выполнения аналогичен
результату, возвращаемому методом FindKey. Например, код
if not Table2.FindKey([GrTmp,NNTmp]) then
ShowMessage('Нет товара с такой группой и номером!');
эквивалентен более громоздкому коду с применением GotoKey:
Table2.SetKey; Table2NumGr.Value := GrTmp;
Table2NN.Value := NNTmp;
if not Table2.GotoKey then
ShowMessage('Нет товара с такой группой и номером!');
1. . Используя таблицы из базы данных DBDEMOS создать приложение, в
котором организовать точный поиск записей наборах данных по индексированным
полям с использованием методов FindKey, SetKey, EditKey, GotoKey (индекс по
одному полю, индекс по нескольким полям).
Неточный поиск
Неточный поиск (поиск на неточное, приблизительное соответствие) осуществляется
методом FindNearest. Он пытается отыскать в наборе данных запись, у которой индексные
поля соответствуют указанным значениям. Если такая запись найдена, указатель текущей
записи в наборе данных перемещается на нее или на следующую за ней запись, в
зависимости от значения свойства KeyExclusive. Если KeyExclusive = False (по умолчанию),
указатель текущей записи перемещается на нее. Если KeyExclusive = True, указатель
текущей записи перемещается на следующую запись.
Если запись не найдена, указатель текущей записи всегда перемещается на ближайшую
запись с большим значением индекса.
В приводимых ниже примерах подразумевается KeyExclusive = False.
Предположим, что поисковое значение NumGr вводится в поле Editl, а NN - в поле
Edit2. Тогда обработчик нажатия кнопки для поиска FindButton может выглядеть так:
procedure TFormA.FindButtonClick(Sender: TObject);
var
Пусть в Edit1 введено 12 и в Edit2 - 4. Тогда указатель переместится на запись, у которой значение NumGr равно 12 и значение поля NN равно 4: NumGr NN Tovar 1 10 Макароны 12 1 Вода минеральная 12 4 Кефир // Перемещение указателя текущей записи 12 26 Груши 100 1 Конфеты «Ласточка» 100 10 Крупа гречневая Для точного поиска в Delphi имеется группа методов SetKey, EditKey, GotoKey, которые должны выполняться вместе, и которые по функциональности аналогичны методу FindKey. Использование их менее удобно: сначала набор данных переводится в состояние dsSetKey (методом SetKey или, если он уже применялся для данного индекса, EditKey), затем присваиваются поисковые значения полям и выполняется метод GotoKey. После этого набор данных переходит в состояние dsBrowse. Результат выполнения аналогичен результату, возвращаемому методом FindKey. Например, код if not Table2.FindKey([GrTmp,NNTmp]) then ShowMessage('Нет товара с такой группой и номером!'); эквивалентен более громоздкому коду с применением GotoKey: Table2.SetKey; Table2NumGr.Value := GrTmp; Table2NN.Value := NNTmp; if not Table2.GotoKey then ShowMessage('Нет товара с такой группой и номером!'); 1. . Используя таблицы из базы данных DBDEMOS создать приложение, в котором организовать точный поиск записей наборах данных по индексированным полям с использованием методов FindKey, SetKey, EditKey, GotoKey (индекс по одному полю, индекс по нескольким полям). Неточный поиск Неточный поиск (поиск на неточное, приблизительное соответствие) осуществляется методом FindNearest. Он пытается отыскать в наборе данных запись, у которой индексные поля соответствуют указанным значениям. Если такая запись найдена, указатель текущей записи в наборе данных перемещается на нее или на следующую за ней запись, в зависимости от значения свойства KeyExclusive. Если KeyExclusive = False (по умолчанию), указатель текущей записи перемещается на нее. Если KeyExclusive = True, указатель текущей записи перемещается на следующую запись. Если запись не найдена, указатель текущей записи всегда перемещается на ближайшую запись с большим значением индекса. В приводимых ниже примерах подразумевается KeyExclusive = False. Предположим, что поисковое значение NumGr вводится в поле Editl, а NN - в поле Edit2. Тогда обработчик нажатия кнопки для поиска FindButton может выглядеть так: procedure TFormA.FindButtonClick(Sender: TObject); var 39
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »