Поиск записей в НД. Метод Lookup

   
На этом шаге мы рассмотрим использование метода Lookup.

   
Метод Lookup находит запись, удовлетворяющую условию, но не делает ее текущей, а возвращает значения
некоторых полей этой записи. В отличие от Locate, Lookup осуществляет поиск только на точное соответствие
критерия поиска и значения полей записи.

   
Опишем параметры этого метода.

   function Lookup (const KeyFields: String; const KeyValues: Variant; 
        const ResultFields: String): Variant;

   
В KeyFields указывается список полей, по которым необходимо осуществить поиск. При наличии в этом
списке более чем одного поля, соседние поля разделяются точкой с запятой.

   
Если в результате поиска запись не найдена, метод Lookup возвращает значение "пусто", в противном случае
Lookup возвращает из этой записи значения полей, список которых содержит ResultFields.

   
Рассмотрим пример:

  ShowMessage(DataModule2.TablePupils.Lookup ('FIO','Петров П.П.','God'));

   
В данном примере ведется поиск по полю FIO НД TablePupils. Если в НД есть запись, у которой
значение поля FIO - "Петров П.П.", то появится сообщение со значением поля God этой записи. Данный код не
вполне корректен, т.к. такой записи может и не быть, тогда метод Lookup вернет "пусто". Для избежания
ошибок рекомендуется делать такую поверку:

  if VarType(DataModule2.TablePupils.Lookup('FIO','Петров П.П.','God'))<>varNull then
   ShowMessage(DataModule2.TablePupils.Lookup('FIO','Петров П.П.','God'));

   
На следующем шаге мы начнем рассматривать работу с индексами.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий