Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Filtered и Filter


Автор: IILYFKA 7.2.2006, 17:43
Мне нужно профильтровать по 2-м полям, но числа как-то не так фильтруються...
Вот как я пишу:
Table1.Filtered:=true;
table1.Filter:='Name1='''+ComboBox1.Text+''''+' and '+'Zar='''+SpinEdit.Text+'''';
в спинедите я пишу текст потому что нету другого варианта(при ктрл+проб).
при фильтрации двух текстовых полей все работает нормально...
Помогите пожалуйста не очень грамотному...
и вообще можно ли фильтровать по числовому полю?

Автор: bas 7.2.2006, 18:20
zar=2500.00 без скобок.

Автор: Akella 10.2.2006, 09:57
Цитата(IILYFKA @ 7.2.2006, 17:43 Найти цитируемый пост)

table1.Filter:='Name1='''+ComboBox1.Text+''''+' and '+'Zar='''+SpinEdit.Text+'''';

можно использовать не кавычки, а функцию QuotedStr(), по крайней мере мне так легче код читать и ошибок меньше
Код

  table1.Filter:='Name1='+QuotedStr(ComboBox1.Text)+...


Автор: McDevil 12.2.2006, 12:13
Цитата(IILYFKA @ 7.2.2006, 17:43 Найти цитируемый пост)
Table1.Filtered:=true;
table1.Filter:='Name1='''+ComboBox1.Text+''''+' and '+'Zar='''+SpinEdit.Text+'''';

Вообще мне интересно почему сначала идет Table1.Filtered:=true должно быть false
попробуй так:
функция trim - убирает пробелы с начала и с конца...
Код

Table1.Filtered:=false;
table1.Filter:='Name1='+trim(ComboBox1.Text)+' and '+'Zar='+trim(SpinEdit.Text);
table1.filtered:=true;


Все должно работать классно ... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)