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

Вниз

Filter   Найти похожие ветки 

 
wirg   (2006-05-11 17:01) [0]

Пишу фильтр, а он не срабатывает.

DM1.TabRepair.Filter:="Price >="+QuotedStr(UpperCase(CenaOt.Text))+" AND Price =< "+QuotedStr(UpperCase(CenaDo.Text))+"";

Подскажите в чём загвоздка?


 
menart ©   (2006-05-11 17:03) [1]

DM1.TabRepair.Filtered:=true ?


 
wirg   (2006-05-11 17:04) [2]

Уже стоит


 
menart ©   (2006-05-11 17:07) [3]

UpperCase(CenaOt.Text)
Для чего переводищь в верхний ригистр? Какие значения передаются?


 
wirg   (2006-05-11 17:09) [4]

Там из едита цыфры передаю


 
wirg   (2006-05-11 17:16) [5]

если можно без UpperCase, то как?


 
menart ©   (2006-05-11 17:16) [6]


> wirg   (11.05.06 17:04) [2]
> Уже стоит


До того как ты меняешь фильтр или после?
Покажи полностью процедуру, где это выполняется.
Поставь showmessage(DM1.TabRepair.Filter) после включения фильтра, сообщи что выводит


 
sniknik ©   (2006-05-11 17:18) [7]

числа можно без строковых кавычек, и регистр у них един... "=<" такого знака вроде бы нет ?


 
wirg   (2006-05-11 17:20) [8]

Процедура вот такая

procedure TViewRepairs.Button1Click(Sender: TObject);
begin
       DM1.TabRepair.Filtered:=true;
       DBGrid1.DataSource.DataSet.Filtered:=true;
    //фильтр по датам
   if Dates.Checked then DM1.TabRepair.Filter:="Date_repair >= """+DateToStr(OtDate.Date)+""" AND Date_repair<""" +DateToStr(DoDate.Date) + """";
 
   if Cena.Checked then DM1.TabRepair.Filter:="Price >="""+QuotedStr(CenaOt.Text)+""" AND Price =< """+QuotedStr(CenaDo.Text)+"""";

   DBGrid1.Refresh;
end;


 
menart ©   (2006-05-11 17:21) [9]

DM1.TabRepair.Filter:="Price >="+QuotedStr(CenaOt.Text)+" AND Price =< "+QuotedStr(CenaDo.Text);
DM1.TabRepair.Filtered:=true

цыфры можно вообще без кавычек передовать.


 
menart ©   (2006-05-11 17:23) [10]

Фильтр включать нужно после изменения фильтра, так при изменение фильтра его параметр выпадает в false


 
wirg   (2006-05-11 17:25) [11]

Выдаёт Аргументы имеют неверный тип, выходят за пределы допустимого диапозона или вступают в конфкит друг с другом


 
menart ©   (2006-05-11 17:28) [12]


> Поставь showmessage(DM1.TabRepair.Filter) после DM1.TabRepair.Filter:="Price >="+QuotedStr(CenaOt.Text)+" AND Price =< "+QuotedStr(CenaDo.Text);, сообщи что выводит


 
wirg   (2006-05-11 17:28) [13]

Что толку пишу вот так выдаёт туже ошибку

   
DM1.TabRepair.Filtered:=false;      
   if Dates.Checked then DM1.TabRepair.Filter:="Date_repair >= """+DateToStr(OtDate.Date)+""" AND Date_repair<""" +DateToStr(DoDate.Date) + """";
   if Cena.Checked then
   DM1.TabRepair.Filter:="Price >="+QuotedStr(CenaOt.Text)+" AND Price =< "+QuotedStr(CenaDo.Text);
DM1.TabRepair.Filtered:=true ;
   DBGrid1.Refresh;

Что можно сделать?


 
menart ©   (2006-05-11 17:29) [14]

Поставь showmessage(DM1.TabRepair.Filter) после DM1.TabRepair.Filter:="Price >="+QuotedStr(CenaOt.Text)+" AND Price <= "+QuotedStr(CenaDo.Text);, сообщи что выводит


 
wirg   (2006-05-11 17:29) [15]

showmessage(DM1.TabRepair.Filter)

Аргументы имеют неверный тип, выходят за пределы допустимого диапозона или вступают в конфкит друг с другом


 
wirg   (2006-05-11 17:34) [16]

Всё спасибо. Понял знак не так стоял


 
menart ©   (2006-05-11 17:37) [17]

<=


 
wirg   (2006-05-11 17:40) [18]

Можно ли фильтр применить к DBGRID, т.е. к стобцу который является ссылкой на другой столбец другой таблицы(в ADOтаблице  у меня создан столбец который отображает данные из столбца другой таблицы), когда я пытаюсь применить к нему фильтр он выдаёт ошибку?


 
menart ©   (2006-05-11 17:43) [19]

а не проще на SQL перейти?


 
Плохиш ©   (2006-05-11 17:47) [20]


> Можно ли фильтр применить к DBGRID, т.е. к стобцу который
> является ссылкой на другой столбец другой таблицы....

Ужасть, надо же так завернуть :-(
Какой смысл применять фильтр к DBGrid, если в нём всё-равно данных нет, чего фильтровать собрался?
Используй событие OnFilterRecord у набора данных. Но лучше [19].


 
wirg   (2006-05-11 18:00) [21]

В SQL фильтров же нету, т.е вы предлагаете выбирать то что надо а затем фильтр применять?


 
Плохиш ©   (2006-05-11 18:04) [22]


> wirg   (11.05.06 18:00) [21]
> В SQL фильтров же нету

Интересно, а конструкция WHERE что делает?


 
sniknik ©   (2006-05-11 18:04) [23]

> выбирать то что надо а затем
и фильтр не понадобится...


 
wirg   (2006-05-11 19:15) [24]

Where это условие, я дикие запросы с 3 нормальной формой писать не хочу, да потом ещё и в гриде менять данные нельзя будет, а с таблицей проще по-моему


 
sniknik ©   (2006-05-11 20:37) [25]

> да потом ещё и в гриде менять данные нельзя будет
можно. хотя там тоже свои тонкости есть.

> а с таблицей проще по-моему
молоток вместо отвертки щурупы заколачивать тоже проще...



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

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

Наверх




Память: 0.52 MB
Время: 0.07 c
1-1148624968
AntonGF
2006-05-26 10:29
2006.07.09
Связь переменной со свойством компанента и наоборот


15-1150119141
[wl]
2006-06-12 17:32
2006.07.09
оффлайн-клиент IPB-форума


2-1151034070
MasterDelphi
2006-06-23 07:41
2006.07.09
MySql


15-1149946432
Цукор5
2006-06-10 17:33
2006.07.09
Помогите дураку


3-1147349427
Viconia
2006-05-11 16:10
2006.07.09
Query выдает ошибку invalid field name