Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.044 c
15-1169198159
Rule
2007-01-19 12:15
2007.02.11
срочно разыскивается компонент типа TImageList


2-1169557027
KyRo
2007-01-23 15:57
2007.02.11
Как отловить что виндовс завершает работу


2-1169538907
daser
2007-01-23 10:55
2007.02.11
Как написать консольное приложение с передачей ему параметров?


2-1169542897
pavel_guzhanov
2007-01-23 12:01
2007.02.11
Диалог выбора директории


15-1168650820
Райтер
2007-01-13 04:13
2007.02.11
Расскажите про TWriter и TReader?




   Наверх