powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поиск информации в EditBox
3 сообщений из 3, страница 1 из 1
Поиск информации в EditBox
    #39978505
Marina_ph2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем))) продолжаю работу над курсовым проектом. Подскажите пожалуйста или киньте пример организации такой задачи. Имеется две таблицы общие данные о гражданине и форма для внесения каких - либо сведений об этом гражданине, так вот к примеру в таблице 1(является справочником о гражданах) есть к примеру поле номер паспорта, и вторая таблица которая является отчетной формой(допустим в нее мы вносим данные о том что данный гражданин заказал ремонт) так вот, как можно организовать чтобы при вводе данные паспорта в editbox1 остальные данные(фио, адрес, и другие данные подгружались автоматический в соответсвующие еditbox-ы). Буду признательна за ответы
...
Рейтинг: 0 / 0
Поиск информации в EditBox
    #39978542
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Marina_ph2,

Вешаем у EditBox на событие OnKeyPress/OnKeyDown реакцию на нажатие клавиши (Enter - вполне подойдет) в котором прописываем начало поиска. В зависимости от результатов - подтягиваем данные.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Procedure TFormXXXX.DoEditBoxOnKeyDown(......)
begin
   if (Key=VK_RETURN) then
       begin
          Key:=0;
          DoSearchData(Self.EditBox.Text);
       end;
end;

Procedure TFormXXX.DoSearchData(const SearchText:string);
begin
     // нечеткое соответствие
     SearchQuery.SQL.Text:=Format('SELECT ... FROM .... WHERE UPPER(PASSPORT_NUMBER) LIKE  ''%%s%''',[AnsiUpperCase(SearchText)]); 
    // или четкое соответствие
    // SearchQuery.SQL.Text:=Format('SELECT ... FROM .... WHERE UPPER(PASSPORT_NUMBER)=UPPER(''%s'''),SearchText]); 

    // самый простой вариант - заполняем тем, что нашлось первым
    SearchQuery.Open;

    if (not SearchQuery.IsEmpty) then
       begin
           // заполняем поля 
           FIO.Text:=SearchQuery.FieldByName('FIO').AsString;
           AnotherData.Text:=SearchQuery.FieldByName('ANOTHERDATA').AsString;
       end
    else
       ShowMessage('Ops, ничего не нашли.....');

    // более правильный вариант - вывести найденные данные в грид/листбокс/еще-куда-нибудь, возможно в другой форме
    // и дать пользователю возможность выбрать, какими найденными данными заполнять форму.


    SearchQuery.Close; 
 
end;
...
Рейтинг: 0 / 0
Поиск информации в EditBox
    #39978544
Marina_ph2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

огромное человеческое СПАСИБО!!!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поиск информации в EditBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]