67
Для поиска в наборе данных также используется метод Lookup, который
работает аналогично методу Locate.
Функция
Lookup ( const KeyFields : String;
const KeyValues : Variant;
сonst ResultFields : String) : Variant;
Она осуществляет поиск записи, удовлетворяющей определенным
условиям, но, в отличие от метода Locate, не перемещает указатель текущей
записи на найденную запись, а считывает информацию из полей записи. Еще
одно различие между двумя методами заключается в том, что метод Lookup
осуществляет поиск на точное соответствие значений для поиска и значений в
полях записей с учетом регистра букв.
В курсовом проекте в соответствии с найденной записью в таблице
поиска необходимо реализовать переход на соответствующую запись в другой
таблице другого набора данных методом Locate.
Для этого была создана процедуру-обработчик события OnClick у кнопки
BitBtn2 «Переход на запись в таблице Заказ» (Рис.3.24) (класс TBitBtn) и в нее
записан следующий программный код:
DM.zakaz.Locate('kodzakaz',DM.FIND.FieldByName('kodzakaz').AsVariant,[]);
Form1.SetFocus;
Необходимо осуществить несколько обращений к данному методу,
поскольку не всегда одновременно отображаются именно все записи набора
данных Услуги, его записи формируются согласно динамическому запросу, и,
следовательно, будет невозможно осуществить поиск сразу.
Надо переместить указатель текущей записи сначала в наборе данных
Заказ, а уже потом осуществить поиск записи в наборе данных Услуги (Рис.
3.25)
Для этого в процедуру-обработчик события OnClick у кнопки BitBtn3
«Переход на запись в таблице Услуги» записан следующий программный код: