В начало

Фильтрация записей (Лабораторная работа)

 

Цели: Ознакомиться с фильтрацией записей.

Фильтрацию можно отнести к одному из методов поиска. Потому что фильтрация – выбор из набора данных только тех записей, которые удовлетворяют конкретным условиям. Например, можно указать отображение только записей, в которых поле «Фамилия» содержит значение «Иванов». Применение фильтра к набору данных определяется свойством Filtered логического типа. Значение True определяет применение в качестве фильтра выражения, указанного в свойстве Filter:

Поле [Оператор сравнения] ‘Значение’

Например, если отобразить все записи, в которых поле «Фамилия» равно значению «Сидоров», то нужно указать:

Table1.Filter:=’Фамилия=’’Сидоров’’’;

Фильтрация записей:

1.      Открыть приложение.

2.      Добавить на форму компоненту TEdit.

3.      Текст процедуры для события OnChange:

begin

   Table1.Filtered:=true;  //включение фильтрации

   Table1.Filter:='SNom = ‘+Edit2.Text;

//задает критерий фильтрации

end;

1.                 Этот способ фильтрации пригоден только для числовых полей.

2.                 При применении фильтра можно указать свойства:

a.                               foCaseInsensitive – нечувствительность к регистру букв;

b.                              foNoPartialCompare – поиск на точное соответствие.

3.                 Для фильтрации текстовых полей, например по полю «Фамилия» необходимо изменить текст процедуры.

procedure TForm1.Edit2Change(Sender: TObject);

begin

   Table1.Filtered:=true;

   Table1.Filter:='SFio='+#39+Edit2.Text+'*'+#39;

end;

В этом случае фильтрация проходит по текстовому полю. Знак «#39» означает знак апострофа, так как ввод фамилии при использовании фильтра происходит в апострофах. А символ «*» означает любые символы, то есть при вводе только одной буквы на экране появятся все фамилии начинающиеся на  букву.