Использование Delphi для создания приложений баз данных. Устюгова В.Н. - 44 стр.

UptoLike

Составители: 

44
3. Используя таблицы из базы данных DBDEMOS создать приложение, в котором
о
рганизовать Инкрементальный локатор.
Поиск по части текущего индекса
Можно осуществлять поиск по части индексных полей. Для этого необходимо с
помощью свойства KeyFieldCount указать, сколько начальных полей индекса будут
использоваться при поиске.
Установка значения свойства KeyFieldCount актуальна только в случае использования
методов GotoKey и GotoNearest.
Установим текущий индекс по полям Doljnost и FIO. Организуем поиск по Doljnost и по
Doljnost + FIO. Условия для поиска будем вводить в поля Edit1 (должность) и Edit2 (ФИО).
По кнопке OneFieldFindButton будем выполнять поиск по одному полю, а по кнопке
FullKeyFindButton будем выполнять поиск по всему индексу (по полям Doljnost и FIO).
procedure TFormA .OneFieldFindButtonClick (Sender: TObject);
begin
// поиск по одному полю индекса
with Table2 do
begin
SetKey;
KeyFieldCount := 1;
Table2Doljnost.Value := Edit1.Text;
GoToNearest;
end; // with
end;
procedure TForml.FullKeyFindButtonClick(Sender: TObject);
begin
// Поиск по двум полям индекса
with Table2 do
begin
SetKey;
KeyFieldCount := 2;
Table2Doljnost.Value := Editl.Text;
Table2FIO.Value := Edit2.Text;
GoToNearest;
end; // with
end;
Поля по которым осуществляется поиск должны быть в полном индексе непрерывным,
т.е. при индексе из 4 полей можно осуществить поиск по 1-му, 2-му, 3-му полям одновременно
и нельзя по 1-му, 4-му, 6-му полям.
При использовании методов FindKey и FindNearest необходимости в использовании
KeyFieldCount нет. Для поиска по частичному соответствию достаточно указать в списке
часть полей данного индекса:
// Поиск по одному полю из двух: Table2.FindNearest([Editl.Text]);
// Поиск по двум полям из двух:
Table2.FindNearest([Editl.Text, Edit2.Text]);
4. Используя таблицы из базы данных DBDEMOS создать приложение, в котором
организовать Поиск по части текущего индекса.
      3. Используя таблицы из базы данных DBDEMOS создать приложение, в котором
организовать Инкрементальный локатор.

                                Поиск по части текущего индекса

     Можно осуществлять поиск по части индексных полей. Для этого необходимо с
помощью свойства KeyFieldCount указать, сколько начальных полей индекса будут
использоваться при поиске.
     Установка значения свойства KeyFieldCount актуальна только в случае использования
методов GotoKey и GotoNearest.
     Установим текущий индекс по полям Doljnost и FIO. Организуем поиск по Doljnost и по
Doljnost + FIO. Условия для поиска будем вводить в поля Edit1 (должность) и Edit2 (ФИО).
     По кнопке OneFieldFindButton будем выполнять поиск по одному полю, а по кнопке
FullKeyFindButton будем выполнять поиск по всему индексу (по полям Doljnost и FIO).

procedure TFormA .OneFieldFindButtonClick (Sender: TObject);
begin
// поиск по одному полю индекса
with Table2 do
begin
   SetKey;
KeyFieldCount := 1;
     Table2Doljnost.Value := Edit1.Text;
     GoToNearest;
   end; // with
end;

procedure TForml.FullKeyFindButtonClick(Sender: TObject);
begin
// Поиск по двум полям индекса
with Table2 do
begin
SetKey;
KeyFieldCount := 2;
Table2Doljnost.Value := Editl.Text;
Table2FIO.Value := Edit2.Text;
   GoToNearest;
end; // with
end;
      Поля по которым осуществляется поиск должны быть в полном индексе непрерывным,
т.е. при индексе из 4 полей можно осуществить поиск по 1-му, 2-му, 3-му полям одновременно
и нельзя по 1-му, 4-му, 6-му полям.
      При использовании методов FindKey и FindNearest необходимости в использовании
KeyFieldCount нет. Для поиска по частичному соответствию достаточно указать в списке
часть полей данного индекса:
      // Поиск по одному полю из двух: Table2.FindNearest([Editl.Text]);
      // Поиск по двум полям из двух:
      Table2.FindNearest([Editl.Text, Edit2.Text]);


     4. Используя таблицы из базы данных DBDEMOS создать приложение, в котором
организовать Поиск по части текущего индекса.

                                               44