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

Вниз

Поиск в Delphi   Найти похожие ветки 

 
Mariya   (2007-09-10 15:34) [0]

Подскажите пожалуйста, как осуществить поиск по двум и более полям.
У меня, например,  Edit1-фамилия, Edit2-имя, так вот, я прописала фильтр, на каждый по отдельно сти, работает, реагирует на каждую нажатую следующую букву. А - выходят все фамилии на А, Аб-все начинающиеся на Аб и т.д. имя таакже, мне нужно, чтобы когда я начинала искать по имени, найденные фамилии оставались, и поиск шел уже среди этих фамилии, а у меня отдельно, фамилия игнорируется, ищет имя из все базы. Код прописан в самих едитах, на он клике. куда мне нужно писать и что? Заранее спасибо!


 
clickmaker ©   (2007-09-10 15:38) [1]

DataSet.Lookup?
Хотя для фильтра можно просто объединять
Filter := "FirstName=""A*"" and LastName=""B*""";


 
Mariya   (2007-09-10 15:48) [2]

Спасибо огромное за ответ, но посмотри пожалуйста, вот мой фильтр, в Едит1 начинаешь вводить фамилию он ищет (на имя такой же код), вот здесь как мне дописать, чтобы найденная фамилия осталась, и при вводе в Едит2 фамилии, он ее искал, не могу сама понять. Также заранее спасибо.
if trim(Edit1.Text)<>""  then
  begin
     tbmain.Filtered:=false;
     tbmain.Filter:="Фамилия="+QuotedStr(Edit1.Text+"*");
     tbmain.Filtered:=true;
  end
  else
  tbmain.Filtered:=false;

if trim(Edit2.Text)<>""  then
  begin
     tbmain.Filtered:=false;
     tbmain.Filter:="Имя="+QuotedStr(Edit2.Text+"*");
     tbmain.Filtered:=true;
  end
  else
  tbmain.Filtered:=false;


 
clickmaker ©   (2007-09-10 15:50) [3]

var
 strFilter: string;

strFilter := "";

if Trim(edit1.Text) <> "" then
  strFilter := "Фамилия="+QuotedStr(Edit1.Text+"*");

if Trim(edit2.Text) <> "" then
  if (strFilter <> "") then strFilter := strFilter + " and ";

tbmain.Filter:= strFilter;


 
Mariya   (2007-09-10 16:21) [4]

Подскажи пожалуйста, а как добавить 3 поле, например отчество? Я не поняла              +"and" ?


 
Германн ©   (2007-09-10 16:24) [5]


> Я не поняла              +"and"

if (strFilter <> "") then strFilter := strFilter + " and "+"Имя="+QuotedStr(Edit2.Text+"*");
Неужели трудно самой понять?


 
Mariya   (2007-09-10 16:31) [6]

Спасибо большое!


 
Anatoly Podgoretsky ©   (2007-09-10 16:34) [7]

> Mariya  (10.09.2007 16:21:04)  [4]

ОНО



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
8-1167300694
vrem
2006-12-28 13:11
2007.10.07
Mpeg2 в программе на дельфи


15-1189503688
DillerXX
2007-09-11 13:41
2007.10.07
Почему до сих пор не отменили запрет на выезд


2-1189505304
нико-лай
2007-09-11 14:08
2007.10.07
ReadLn +Double


15-1189341635
AntiUser
2007-09-09 16:40
2007.10.07
Создан трехмерный голографический дисплей


15-1188928095
ocean
2007-09-04 21:48
2007.10.07
Отучить ребенка от чатов