Изменение параметров поиска осуществляется методом EditKey.

Поиск по произвольным ПОЛЯМ

Для поиска по произвольной выборке полей можно использовать методы

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', ,B±Lt2.Ttext']), []);

В метод Lookup передается список полей для поиска (параметр KeyFields, имена полей разделяются точкой с запятой) и их требуемые значения (параметр KeyValues, значения разделяются запятой). В случае успешного поиска функция возвращает массив значений типа вариант для полей, названия которых содержатся в параметре ResultFields.

Tablel.Lookup('Last_Name;First_Name', VarArrayOf(['Editl.Text', 'Edit2.Text']), 'Last_Name;First_Name');

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

Фильтры

Наиболее эффективным способом отбора записей в набор данных (особенно из больших таблиц) является создание и выполнение соответствующего запроса SQL. Но что делать, если набор данных функционирует на базе табличного компонента? В этом случае на помощь приходит встроенный в набор данных механизм фильтрации данных.

Применение фильтра основано всего на двух основных свойствах и одном вспомогательном. Текст фильтра должен содержаться в свойстве Filter, а свойство Filtered включает и выключает фильтр. Параметры фильтра определяются (ЗЭСЙ"ЖЗУ1 FilterOptions.

(_Примечание ^

Компонент TQuery также может использовать фильтры. Эта возможность подчас позволяет легко и изящно решать довольно сложные проблемы, которые иначе требуют изменения текста запроса или создания нового компонента запроса.

При использовании фильтра его текст транслируется в синтаксис SQL и передается для выполнения на сервер или через соответствующий драйвер в локальную СУБД.

Фильтры можно создавать двумя способами:

□ при помощи свойства Filter создаются довольно простые фильтры, для которых достаточно предоставляемого механизмом фильтрации синтаксиса;

□ для создания более сложных фильтров с применением всех возможных средств языка программирования применяется метод-обработчик набора данных OnFüterRecord.

Фильтры можно разделить на статические и динамические.

Статические фильтры создаются во время разработки приложения и могут ИСПОЛЬЗОВаТЬ какСЮЙСТВО Filter, так И МеТОД OnFüterRecord.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс