Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос поиска. [D6, dBase, FoxPro]


Mih ©   (2004-11-04 15:30:00) 

Для поиска записи пишу таким образом:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var strField: String;
begin
  if Key = #13 then begin
  if Edit1.Text='' then begin
   MessageDlg ('Не заданы условия поиска!', mtInformation, [mbOK], 0);
   end
   Else
   case RadioGroup1.ItemIndex of
   0:strField:='TN';
   1:strField:='FAM';
   end;
   if not Table1.Locate(strField, Edit1.Text, [loCaseInsensitive]) then begin
   Beep;
   MessageDlg ('Запись не найдена!', mtInformation, [mbOK], 0);
   end;
end;
end;

Так как табельные номера (TN) не повторяются, здесь никаких проблем. А с фамилиями (FAM) проблема в том, что нахожу только первую запись. Подскажите, пожалуйста, как сделать, чтобы последовательно были найдены все фамилии.
Спасибо.


Mih   (2004-11-08 10:21:00) [1]

Johnmen ©   (04.11.04 16:24) [4]
Только сегодня смог увидеть.
Спасибо!!!


Johnmen   (2004-11-04 16:24:00) [2]

Table1.First;
while not Table1.Eof do begin;
 if AnsiUpperCase(Table1.FieldByName(strField).AsString)=AnsiUpperCase(Edit1.Text) then
 <найдено, делаем своё дело>;
 Next;
 end;


Mih   (2004-11-04 16:17:00) [3]

Johnmen ©   (04.11.04 15:58) [2]
А можно пример?


Johnmen   (2004-11-04 15:58:00) [4]

Бежишь по набору данных, от начала до конца, и проверяешь каждую запись на удовлетворение своих условий...


Mih   (2004-11-04 15:51:00) [5]

Удалено модератором


Наверх

Титульная страница Поиск, карта сайта Написать письмо