![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
БД [D7, IB4.x, IB5.x, IB6.x]
agfhg © (2007-01-22 16:48:00)Есть БД. Есть список клиентов, задача:1000 клиентов, надо осуществить поиск по ФИО, год рождения! Например Сидоров ВВ на экране должен показать все фамилии Сидоровых.
MsGuns (2007-01-22 23:22:00) [1]>FIL-23 ©
Дважды сказанная глупость умностью не станет ;)
Anatoly Podgoretsky (2007-01-22 19:59:00) [2]> Ega23 (22.01.2007 19:39:13) [13]
Как чего - вставить как параметр для поиска (выборки) всех Сидоров, и ВВ больше не смущает
Ega23 (2007-01-22 19:39:00) [3]
> Copy('Сидоров ВВ', 1, 7) + '%'
И чего?
Anatoly Podgoretsky (2007-01-22 19:38:00) [4]> Ega23 (22.01.2007 18:11:11) [11]
Copy('Сидоров ВВ', 1, 7) + '%'
Ega23 (2007-01-22 18:11:00) [5]
> Так ему все равно В.В. ВВ. ВВВВВВ ему нужны все Сидоровы
> хоть Сидоров qq
Ты прекрасно понял, что я имел ввиду. Если это автору не нужно - ну и фиг с этими ВВ. А сама по себе проблема весьма интересна...
zdm (2007-01-22 18:09:00) [6]
> agfhg (22.01.07 16:48)
> Есть БД. Есть список клиентов, задача:1000 клиентов, надо
> осуществить поиск по ФИО, год рождения! Например Сидоров
> ВВ на экране должен показать все фамилии Сидоровых.
zdm (2007-01-22 18:08:00) [7]Так ему все равно В.В. ВВ. ВВВВВВ ему нужны все Сидоровы хоть Сидоров qq
Ega23 (2007-01-22 17:37:00) [8]
> Может я не догнал, а в чем трабла?
А трабла в том, что:
1. Неизвестно, ФИО разбито по трём полям, или одно поле, или это именно фамилия + пробел + инициалы без разделителей?
2. Анализ инициалов: ВВ и В.В. - разные вещи, или одно и то же?
Сидоров ВВвводится в одном контроле без маски, с маской или в разные поля (поле = TCustomEdit)
Как будет выглядеть запрос с like в таком ключе?
Так что задача не совсем тривиальна...
zdm (2007-01-22 17:25:00) [9]
> Ega23 © (22.01.07 17:19) [6]
Может я не догнал, а в чем трабла?
Ega23 (2007-01-22 17:19:00) [10]
> Например Сидоров ВВна экране должен показать все фамилии
> Сидоровых.
Между прочим, вот с этим ВВ задача не так проста, как кажется с первого взгляда.
zdm (2007-01-22 17:16:00) [11]На всякий случай. IB чувствителен к регистру ввода (Сидоров и сидоров две разные вещи) Если текст вводится, например из TEdit., помогает ..Like.. AnsiUpperCase(Edit1.text) or ...Like... AnsiLowerCase(Edit1.text).
FIL-23 (2007-01-22 17:10:00) [12]понимаешь это не поиск, а фильтрация:
procedure TForm1.FormCreate(Sender: TObject);
begin
table1.FilterOptions:=[focaseinsensitive];
table1.Filtered:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
table1.filtered:=true ;
table1.filter:='familia='''+'сидоров'+'''datarogdenia='''+datetostr(datetimepicker1.date)+''''
end;
FIL-23 (2007-01-22 17:10:00) [13]понимаешь это не поиск, а фильтрация:
procedure TForm1.FormCreate(Sender: TObject);
begin
table1.FilterOptions:=[focaseinsensitive];
table1.Filtered:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
table1.filtered:=true ;
table1.filter:='familia='''+'сидоров'+'''datarogdenia='''+datetostr(datetimepicker1.date)+''''
end;
Jeer (2007-01-22 17:05:00) [14]
> agfhg (22.01.07 16:48)
http://www.citforum.ru/database/sql_kg/index.shtml
MsGuns (2007-01-22 16:55:00) [15]LIKE если запросом
Если в открытом датасете:
with TIBDataSet1 do
begin
DisableControls;
Locate('FIO',FieldByName('FIO).AsString,[loPartial]);
EnableControls;
end;