Проблема с фильтрами у ADOTable

faustrash

...или это у меня проблема)так работает:
DBForm.ADOTable.Filtered:=False;
 DBForm.ADOTable.Filter:='[Field_1_Int]=0'+
 ' OR [Field_1_Int]=NULL OR [Field2Data]=NULL';
 DBForm.ADOTable.Filtered:=True;
а мне нужно вместо второго OR поставить AND:
DBForm.ADOTable.Filtered:=False;
 DBForm.ADOTable.Filter:='[Field_1_Int]=0'+
 ' OR [Field_1_Int]=NULL AND [Field2Data]=NULL';
 DBForm.ADOTable.Filtered:=True;
во втором случае не работает, при попытке применить фильтр пишет "Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом"
5 ответов

faustrash

воопшето логика [Field_1_Int]=0 OR [Field_1_Int]=NULL AND [Field2Data]=NULLне правильная.... вот так нужно писать критерии при OR([Field_1_Int]=0 OR [Field_1_Int]=NULL) AND ([Field2Data]=NULL)----www.hramin.jino-net.ru


faustrash

Для комбинации OR и AND действуют особые правила, но не помню где в справке эти правила описаны.--http://www.podgoretsky.com


faustrash

Anatoly Podgoretsky, AFAIR они решаются скобкамиRamin, автор не сказал, как надо:(Field_1_Int = 0 OR Field_1_Int = NULL) AND (Field2Data = NULL)или(Field_1_Int = 0) OR (Field_1_Int = NULL AND Field2Data = NULL)


faustrash

ну млин я пример показал, что б логика не испортился... а уже как надо, пусть сам подумает----www.hramin.jino-net.ru


faustrash

Скобки это первое что я попробовал. Нифига. Просто не работает.Но все равно спасибо за помощь) А я сделал на сервере вычисляемое поле и сократил фильтр)