Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];

Вниз

Поиск в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.053 c
2-1189265316
Антон Шестаков
2007-09-08 19:28
2007.10.07
Записать картинку в Paradox базу


1-1185448950
AndreyRU
2007-07-26 15:22
2007.10.07
Блокировка мышиных сообщений! TPopupMenu..


2-1189240396
Дядя
2007-09-08 12:33
2007.10.07
График


2-1189162219
Gringoire
2007-09-07 14:50
2007.10.07
Как обозвать кнопочки?


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский