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

Вниз

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

Наверх




Память: 0.49 MB
Время: 0.009 c
9-1131988590
Fedot Fedotich
2005-11-14 20:16
2006.07.09
Загрузка моделей в формате md2


15-1150011074
DAB
2006-06-11 11:31
2006.07.09
Скрыть окно


2-1150964476
Кирилл Таран
2006-06-22 12:21
2006.07.09
Анимация в Дельфи 7.0 (оператор паузы)


1-1148739351
T54
2006-05-27 18:15
2006.07.09
Работа руссифицированных программ у буржуев


2-1151117389
gamebit3000
2006-06-24 06:49
2006.07.09
Не получается связать несколько БД и сделать их поля вычисляемыми





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