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

Вниз

проблемы фильтрации в tado table   Найти похожие ветки 

 
tela ©   (2009-09-06 03:01) [0]

всем доброй ночи! подскажите пожалуйста какможно решить следующую проблему. я использую компонент TADO TABLE, в часности его свойство filter. и все ничего когда фильтрую только по числам:

booktable.Filter:="число = " + QuotedStr(edit1.Text) + " or " + "число = " + QuotedStr(edit2.Text);

но при усложнении опций фильтрации возникают следующие проблемы: компилятор начинает ругаться при обнаружении следующей строки:

booktable.Filter:="число = " + QuotedStr(edit1.Text) + " or " + "число = " + QuotedStr(edit2.Text)
                 +" and "+"нарушитель="+QuotedStr(ComboBox5.Text);

смысл ошибки понятен,хотелось спросить, есть ли в фильтрации -скобки, тоесть действия которые нужно выполнить впервую очередь как в арифметических операциях? Заранее огромное спасибо!


 
СовестьДМ ©   (2009-09-06 10:34) [1]

есть особенности описаны в BOL но ошибка тут непричем


 
tela ©   (2009-09-06 11:32) [2]


> СовестьДМ ©   (06.09.09 10:34) [1]
> есть особенности описаны в BOL но ошибка тут непричем


а в чем тогда дело по вашему?


 
tela ©   (2009-09-06 12:15) [3]

проблема состоит в следующем: если я прописываю опции фильтра

[Code]booktable.Filter:="[число] = " + QuotedStr(edit1.Text) + " or " + "[число] = " + QuotedStr(edit2.Text)+" or "+"[нарушитель]="+QuotedStr(ComboBox5.Text);[/Code]
 
то все работает, только фильтрует не правильно. мне нужно чтобы фильтровало примерно так: (число1 "или" число2) "и" нарушитель.

а оно выдает все данные что указаны в опции, тоесть данные о нарушителе не обращая внимания на числа+ все нарушения за эти числа. а как только я меняю or на and компилятор начинает ругаться


 
sniknik ©   (2009-09-06 12:17) [4]

> а в чем тогда дело по вашему?
в использовании  tadotable не по назначению... (он предназначен исключительно для корзины)
и в замене отбора (select-а) фильтрацией, а это разные по смыслу вещи, хотя и похожи по результирующему виду.

а по ошибке, из хелпа (который ты по идее должен был смотреть в первую очередь)
There is no precedence between AND and OR. Clauses can be grouped within parentheses. However, you cannot group clauses joined by an OR and then join the group to another clause with an AND, like this:
(LastName = "Smith" OR LastName = "Jones") AND FirstName = "John"

Instead, you would construct this filter as
(LastName = "Smith" AND FirstName = "John") OR (LastName = "Jones" AND FirstName = "John")


 
tela ©   (2009-09-09 00:05) [5]

понял, спасибо большое за подсказку!



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1251957649
Игорь
2009-09-03 10:00
2009.11.01
Привилегии системного процесса


15-1251885076
boriskb
2009-09-02 13:51
2009.11.01
40 лет интернету


6-1209387329
pavel_guzhanov
2008-04-28 16:55
2009.11.01
Адрес приложения, написанного с использованием IntraWeb


15-1251923407
Юрий
2009-09-03 00:30
2009.11.01
С днем рождения ! 3 сентября 2009 четверг


2-1252766894
Реактор
2009-09-12 18:48
2009.11.01
Как быстрее всего сравнить два ричунка