PDA

View Full Version : مشکل and و or در فیلتر Ado



mehdi_moosavi
شنبه 30 دی 1385, 16:18 عصر
سلام
وقتی در فیلتر یک Ado از And و Or هردو استفاده میکنم جواب نمیده و پیغام خطا ظاهر میشه
فقط And ویا فقط OR هیچ مشکلی نداره ولی وقتی از پرانتز استفاده میشه خطا میگیره


ADOTable1.Filter:='(cod=1 or cod=2 or cod=3) and sal=82';

لطفا راهنمایی کنید

mehdi_mohamadi
شنبه 30 دی 1385, 16:30 عصر
select *
from tablename
where (cod in (1,2,3))and (sal=82)
---------------------------
موفق باشید

dkhatibi
شنبه 30 دی 1385, 18:10 عصر
شاید اگر به این شکل هم بنویسید خطا نداشته باشید.


ADOTable1.Filter:='((cod=1 or cod=2 or cod=3) and (sal=82))';

حرفه ای
یک شنبه 01 بهمن 1385, 08:36 صبح
سلام
وقتی در فیلتر یک Ado از And و Or هردو استفاده میکنم جواب نمیده و پیغام خطا ظاهر میشه
فقط And ویا فقط OR هیچ مشکلی نداره ولی وقتی از پرانتز استفاده میشه خطا میگیره


ADOTable1.Filter:='(cod=1 or cod=2 or cod=3) and sal=82';

لطفا راهنمایی کنید

دوست خوبم !

اینگونه بنویس (پرانتز ها رو رعایت کن ) :لبخندساده:


ADOTable1.Filter:='(((cod=1) or( cod=2) or (cod=3)) and( sal=82))';

davoodmz
یک شنبه 01 بهمن 1385, 08:58 صبح
دوست من اینگونه بنویس
[CODE]adoQuary.Filter:='filde1='+QuotedStr(' text1 ')+' and '+'filde2='+QuotedStr('text2')+' and ...

mehdi_moosavi
یک شنبه 01 بهمن 1385, 11:51 صبح
با تشکر از دوستان ولی روشهای بالا جواب نداد
استفاده از QuotedStr و پرانتز مشکل رو حل نکرد
پیشنهاد اول هم یک دستور SQL هست که در ADOTable نمیشه استفاده کرد
البته من از ADOQuery استفاده کردم و مشکل حل شد ولی اگر برای فیلتر در ADOTable راه دیگری هست لطفا بفرمائید

hr110
یک شنبه 01 بهمن 1385, 14:00 عصر
دستوراتی که در filter مینویسید باید فاقد پرانتز باشند!

mehdi_moosavi
سه شنبه 03 بهمن 1385, 00:40 صبح
اگر بدون پرانتز باشند فیلتر درست انجام میشه؟