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

Вниз

Фильтр   Найти похожие ветки 

 
Slimer ©   (2006-12-25 19:49) [0]

Такая у меня опять проблемма: ДБГрид с полями(парадокс), пользователь хочет отфильтровать данные, открывает форму где расположено куча эдитов и комбобоксов... Выбирает то что ему нужно...
И жмет "ОК".
Все бы хорошо, но если пользователь оставит какое-то поле пустым (не нужно фильтровать например поле "улица"), каким образом сформировать фильтр чтоб по этому полю не происходила фильтрация?
Я пишу: Table1.Filter:="Street="+#39"*"#39;
И пустым оставлял... И не работает (Не выводит не одной строки после нажатия "ОК")


 
Anatoly Podgoretsky ©   (2006-12-25 19:54) [1]

> Slimer  (25.12.2006 19:49:00)  [0]

Убери совсем из фильтра


 
Slimer ©   (2006-12-25 20:01) [2]

Так в том то и дело
Там же не одно поле.
Фильтр формируется по нажатии "ОК"
Т.е. что-то типа
Table1.Filter:="Street="+#39"*"#39+"Raion="+#39"Центр"#39;
... и так по всем полям.
Не буду же я проверять все возможные комбинации где он ввел значение для фильтра а где оставил пустым


 
Anatoly Podgoretsky ©   (2006-12-25 20:04) [3]

> Slimer  (25.12.2006 20:01:02)  [2]

Ну дело твое, меняй профессию.


 
Slimer ©   (2006-12-25 20:08) [4]

:( Ну и как это сделать (правильно)?


 
rar ©   (2006-12-25 20:27) [5]

Обычно пробегают по полям и строят запрос на выборку динамически вот выдержка
for i:=0 to ControlCount-1 do
 begin
   if Controls[i] is TEdit then
   begin
     Edit:=(Controls[i] as TEdit);
     if (Trim(Edit.Text)<>"") then
       begin
       strSQL:=strSQL+Concat+" (("+Edit.Name+") LIKE """+strParamFind+Trim(Edit.Text)+"%"")";
       Concat:="AND";
       end;
   end;
 end;

другого пути нет, терпение и труд :-)


 
Slimer ©   (2006-12-26 00:05) [6]

А если без SQL? Так же динамически только для Table1.filter:=


 
Германн ©   (2006-12-26 00:38) [7]


var
 St : String;
begin
 St:="";
 if "Поле не пустое" then St:=St+"Street="+#39"*"#39;
 ...
 Table1.Filter:=St;


 
Slimer ©   (2006-12-26 01:16) [8]


> Германн ©   (26.12.06 00:38) [7]


Отлично!!:)
Все заработало! Щас допишу до конца и будет то что надо!
Спасибо!


 
Германн ©   (2006-12-26 01:21) [9]


> Slimer ©   (26.12.06 01:16) [8]
>
>
> > Германн ©   (26.12.06 00:38) [7]
>
>
> Отлично!!:)

Я ещё и вышивать умею и на машинке... Мурррр :)



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

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

Наверх




Память: 0.46 MB
Время: 0.011 c
11-1143567562
Duber
2006-03-28 21:39
2007.01.14
В KOLmdvDBF не работает свойство LastUpdated


2-1167038007
TCrash
2006-12-25 12:13
2007.01.14
Ошибка :(


15-1166433272
TUser
2006-12-18 12:14
2007.01.14
Сравнить два модуля


15-1166618176
infom
2006-12-20 15:36
2007.01.14
Есть ли проблемы с AMD Athlon 64 X2 ?


2-1166558170
addi
2006-12-19 22:56
2007.01.14
Мультимедийный таймер





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский