![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос поиска. [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]Удалено модератором