Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли объединить два фильтра


delphino ©   (2007-05-25 12:12:00) 

Query1.Filter:='S_Name='+quotedstr(ComboBox1.Text+'*');
Query1.Filter:='S_Type='+quotedstr(ComboBox2.Text+'*');


Loginov Dmitry   (2007-05-28 08:29:00) [1]

> Здесь фильтр по одному полю. А у меня два фильтра по разным
> полям. Может в этом дело?


Число полей не имеет значения.


delphino   (2007-05-28 05:34:00) [2]


> (Custno > 1400) AND (Custno < 1500);

Здесь фильтр по одному полю. А у меня два фильтра по разным полям. Может в этом дело?


ЮЮ   (2007-05-28 03:43:00) [3]

> нет

Странно, а справка гоаорит - да:

Filters can compare field values to literals and to constants using the following comparison and logical operators:

Operator Meaning
< Less than
> Greater than
>= Greater than or equal to
<= Less than or equal to
= Equal to
<> Not equal to
AND Tests two statements are both True
NOT Tests that the following statement is not True
OR Tests that at least one of two statements is True
+ Adds numbers, concatenates strings, adds numbers to date/time values (only available for some drivers)
- Subtracts numbers, subtracts dates, or subtracts a number from a date (only available for some drivers)
* Multiplies two numbers (only available for some drivers)
/ Divides two numbers (only available for some drivers)
* wildcard for partial comparisons (FilterOptions must include foPartialCompare)
By using combinations of these operators, you can create fairly sophisticated filters. For example, the following statement checks to make sure that two test conditions are met before accepting a record for display:

(Custno > 1400) AND (Custno < 1500);


delphino   (2007-05-28 03:32:00) [4]


> А так разве не работает?
>
> Query1.Filter:=
>  'S_Name='+quotedstr(ComboBox1.Text+'*' +
>  ' AND ' +
>  'S_Type='+quotedstr(ComboBox2.Text+'*');

нет


ЮЮ   (2007-05-25 12:15:00) [5]

А так разве не работает?

Query1.Filter:=
 'S_Name='+quotedstr(ComboBox1.Text+'*' +
 ' AND ' +
 'S_Type='+quotedstr(ComboBox2.Text+'*');


Наверх

Титульная страница Поиск, карта сайта Написать письмо