|
Поиск по произвольным полям
Для поиска по произвольной выборке
полей можно использовать методы Locate
и Lookup.
function Locate(const
KeyFields: string; const KeyValues: Variant; Options;
TLocateOptions): Boolean;
function Lookup(const
KeyFields: string; const KeyValues: Variant; const
ResultFields: string): Variant;
В метод Locate
необходимо передать список полей, по которым будет идти
поиск (параметр KeyFields, имена
полей разделяются точкой с запятой), их требуемые значения
(параметр KeyValues, значения
разделяются запятой) и настройки поиска (параметр options).
В настройках можно задать опцию loCaseinsensitive,
которая отключает проверку на регистр символов, и опцию
loPartiaiKey, которая включает
поиск с минимальными отличиями. В случае успеха поиска
курсор набора данных устанавливается на найденной записи,
а метод возвращает значение True.
Tablel.Locate('Last__Name;First_Name',
VarArrayOf(['Editl.Text',
'Edit2.Text']),
[]};
В метод Lookup
передается список полей для поиска (параметр KeyFields,
имена полей разделяются точкой с запятой) и их требуемые
значения (параметр KeyValues,
значения разделяются запятой). В случае успешного поиска
функция возвращает массив значений типа вариант для
полей, названия которых содержатся в параметре ResultFields.
Tablel.Lookup('Last_Name;First_Name',
VarArrayOf(['Editl.Text',
1Edit2.Text']), 'Last_Name;First_Name');
Оба эти метода автоматически используют
быстрый индексный поиск в случае, если в параметре
KeyFields задать поля индекса.
|