Метод Lookup

Метод Lookup, в отличие от Locate, не меняет положение курсора в таблице. Вместо этого он возвращает значения некоторых ее полей. Причем в отличие от Locate, этот метод осуществляет поиск лишь на точное соответствие. Такой способ поиска востребован реже, однако в некоторых случаях этим методом очень удобно пользоваться.

Рассмотрим работу метода Lookup на примере нашей программы.

Для поиска воспользуемся кнопкой с надписью “Найти”, расположенной в верхней части главной формы. Пользователь вводит в поле Edit1 какую то фамилию и нажимает кнопку “Найти”. Результаты выводим на экран функцией ShowMessage().

Итак, в окне главной формы дважды щелкните по кнопке “Найти”, создавая событие onClick, и впишите следующий листинг:

{щелкнули по кнопке Найти}

procedure TfMain.BitBtn1Click(Sender: TObject);

Var

MyLookup: Variant; //для получения результата

S: String; //для отчета

Begin

//получаем результат:

myLookup:= fDM.TLichData.Lookup(‘Фамилия‘, Edit1.Text,

‘Фамилия;Имя;Отчество;Образование’);

//проверяем, не Null ли это:

if VarType(myLookup) = varNull then

ShowMessage(‘Сотрудник с такой фамилией не найден!’)

else if VarType(myLookup) = varEmpty then

ShowMessage(‘Запись не найдена!’)

//если это массив, то из его элементов собираем

//многострочную строку:

Else if VarIsArray(myLookup) then begin

s:= myLookup[0] + #13 + myLookup[1] + #13 +

myLookup[2] + #13 + myLookup[3];

//и выводим ее на экран:

ShowMessage(s);

End; //else if

end;

Обратите внимание какой фрагмент кода вставлять и что данный код уже содержит begin и end; которые есть в процедуре, поэтому их необходимо удалить из процедуры.

Перед проверкой необходимо отключить предыдущий метод поиска.

Комментарии достаточно подробны, чтобы вы разобрались с кодом. Сохраните проект, скомпилируйте его и запустите. Опробуйте этот способ поиска.

Фильтрация записей в базе данных Delphi

Фильтрацию данных применяют не реже чем поиск. Разница в том, что при поиске данных пользователь видит все записи таблицы, при этом курсор либо переходит к искомой записи, либо он получает данные этой записи в виде результата работы функции. При фильтрации пользователь видит только те записи, которые удовлетворяют условиям фильтра, остальные записи становятся скрытыми. Таким образом искать нужные данные проще.

Фильтрация осуществляется при помощи свойства Filter и события onFilterRecord. Рассмотрим основные способы фильтрации записей.


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



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