Главная страница
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.028 c
1-1183471965
Kolan
2007-07-03 18:12
2007.10.07
Придумал архетиктуру с пакетами и медиатором, помогите реализоват


15-1189092894
Floppy
2007-09-06 19:34
2007.10.07
Создание ярлыка


2-1189244105
ProgRAMmer Dimonych
2007-09-08 13:35
2007.10.07
TPersistent


15-1189359302
Галинка
2007-09-09 21:35
2007.10.07
Белый шум: факт или "художественный прием"


15-1189408708
vasIZmax
2007-09-10 11:18
2007.10.07
Органайзер-инспектор