Главная страница
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.122 c
2-1169674908
Bullfrog
2007-01-25 00:41
2007.02.11
система линейных уравнений


3-1164210002
Леонид Федьков
2006-11-22 18:40
2007.02.11
BDE и распространение прикладных программ


2-1169750044
olevacho_
2007-01-25 21:34
2007.02.11
idhttp.post не работает


15-1169377163
Kolan
2007-01-21 13:59
2007.02.11
Клавиатура Дворака


2-1169715577
user51
2007-01-25 11:59
2007.02.11
путь е екзешнику по окну