Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

БД   Найти похожие ветки 

 
agfhg   (2007-01-22 16:48) [0]

Есть БД. Есть список клиентов, задача:1000 клиентов, надо осуществить поиск по ФИО, год рождения! Например Сидоров ВВ на экране  должен показать все  фамилии  Сидоровых.


 
MsGuns ©   (2007-01-22 16:55) [1]

LIKE если запросом
Если в открытом датасете:
with TIBDataSet1 do
 begin
  DisableControls;
  Locate("FIO",FieldByName("FIO).AsString,[loPartial]);
  EnableControls;
 end;


 
Jeer ©   (2007-01-22 17:05) [2]


> agfhg   (22.01.07 16:48)


http://www.citforum.ru/database/sql_kg/index.shtml


 
FIL-23 ©   (2007-01-22 17:10) [3]

понимаешь это не поиск, а фильтрация:

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) [4]

понимаешь это не поиск, а фильтрация:

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;


 
zdm ©   (2007-01-22 17:16) [5]

На всякий случай.  IB чувствителен к регистру ввода (Сидоров и сидоров две разные вещи) Если текст вводится, например из TEdit.,  помогает ..Like.. AnsiUpperCase(Edit1.text) or ...Like... AnsiLowerCase(Edit1.text).


 
Ega23 ©   (2007-01-22 17:19) [6]


> Например Сидоров ВВ на экране  должен показать все  фамилии
>  Сидоровых.


Между прочим, вот с этим ВВ задача не так проста, как кажется с первого взгляда.


 
zdm ©   (2007-01-22 17:25) [7]


> Ega23 ©   (22.01.07 17:19) [6]

Может я не догнал, а в чем трабла?


 
Ega23 ©   (2007-01-22 17:37) [8]


> Может я не догнал, а в чем трабла?


А трабла в том, что:
1. Неизвестно, ФИО разбито по трём полям, или одно поле, или это именно фамилия + пробел + инициалы без разделителей?
2. Анализ инициалов: ВВ и В.В. - разные вещи, или одно и то же?

Сидоров ВВ вводится в одном контроле без маски, с маской или в разные поля (поле = TCustomEdit)

Как будет выглядеть запрос с like в таком ключе?

Так что задача не совсем тривиальна...


 
zdm ©   (2007-01-22 18:08) [9]

Так ему все равно В.В. ВВ. ВВВВВВ ему нужны все Сидоровы хоть Сидоров qq


 
zdm ©   (2007-01-22 18:09) [10]


> agfhg   (22.01.07 16:48) 
> Есть БД. Есть список клиентов, задача:1000 клиентов, надо
> осуществить поиск по ФИО, год рождения! Например Сидоров
> ВВ на экране  должен показать все  фамилии  Сидоровых.


 
Ega23 ©   (2007-01-22 18:11) [11]


> Так ему все равно В.В. ВВ. ВВВВВВ ему нужны все Сидоровы
> хоть Сидоров qq


Ты прекрасно понял, что я имел ввиду. Если это автору не нужно - ну и фиг с этими ВВ. А сама по себе проблема весьма интересна...


 
Anatoly Podgoretsky ©   (2007-01-22 19:38) [12]

> Ega23  (22.01.2007 18:11:11)  [11]

Copy("Сидоров ВВ", 1, 7) + "%"


 
Ega23 ©   (2007-01-22 19:39) [13]


> Copy("Сидоров ВВ", 1, 7) + "%"


И чего?


 
Anatoly Podgoretsky ©   (2007-01-22 19:59) [14]

> Ega23  (22.01.2007 19:39:13)  [13]

Как чего - вставить как параметр для поиска (выборки) всех Сидоров, и ВВ больше не смущает


 
MsGuns ©   (2007-01-22 23:22) [15]

>FIL-23 ©  

Дважды сказанная глупость умностью не станет ;)



Страницы: 1 вся ветка

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.04 c
2-1169540039
cvg
2007-01-23 11:13
2007.02.11
откуда взять описание типа TidIcmpClient?


15-1169494394
Dmitry_177
2007-01-22 22:33
2007.02.11
не пойму что с жестким диском случилось, но данные пропали


15-1169285631
*Стажер*
2007-01-20 12:33
2007.02.11
Версии программы


15-1168927372
Ega23
2007-01-16 09:02
2007.02.11
ММП? В пятницу?


15-1168916009
Юнит
2007-01-16 05:53
2007.02.11
Как прописать {$DEFINE UseBox}, чтобы она была видна во всех юнит