PDA

View Full Version : سوال: مشکل با فیلتر کردن ADOQuery



baran_2005
شنبه 26 آذر 1390, 10:55 صبح
سلام
چندتا رکورد از جدولم میخوام فیلتر کنم که شناسه انها برابر با مقدار مورد نظر من باشه مثلا :

BSD0904 = '2367D3F1_1E64_43CE_B59F_316393067FA1' and BSD0904='00731EA9_E8B5_4E76_8283_BDC1C8A63FA8'
دستور بالا رو با like هم نوشتم ولی هیچ رکوردی را نمایش نداد حالا اگر هر کدوم به تنهایی بدون and استفاده کنم رکورد مربوطه رو نمایش میدهد یعنی فقط با یک شرط جواب درست کار میکنه . چطوری این مشکل حل کنم جستجو هم کردم چیزی پیدا نکردم که مشکلم رفع شود .

Felony
شنبه 26 آذر 1390, 11:01 صبح
اون کدی که نوشتی یعنی چی ؟ BSD0904 هم مساوی 2367D3F1_1E64_43CE_B59F_316393067FA1 و هم مساوی 00731EA9_E8B5_4E76_8283_BDC1C8A63FA8 باشه ؟! احتمالا منظورتون or نبوده ؟!

baran_2005
شنبه 26 آذر 1390, 11:27 صبح
منظورم همون and . رکوردایی رو لازم دارم که شناسه اونها برابر با این مقادیرم باشه . مثلا من 1000 تا رکورد دارم که از این هزار رکورد 30 تاش میخوام فیلتر کنم که مقدار فیلد فرضا BSD0904 اونها برابر با مقادیری باشه که من بهش میدم . اگر or بذارم بازم یک رکورد نمایش میده (رکوردی که با شرط اول انتخاب میشه )

vcldeveloper
شنبه 26 آذر 1390, 11:51 صبح
منظورم همون and . رکوردایی رو لازم دارم که شناسه اونها برابر با این مقادیرم باشه . مثلا من 1000 تا رکورد دارم که از این هزار رکورد 30 تاش میخوام فیلتر کنم که مقدار فیلد فرضا BSD0904 اونها برابر با مقادیری باشه که من بهش میدم .
مقدار یک فیلد از هر رکورد که نمیتونه هم x باشه و هم y! مشکل شما در توجه به درک عملگرهای AND و OR هست.


... WHERE (BSD0904 = '2367D3F1_1E64_43CE_B59F_316393067FA1') OR (BSD0904='00731EA9_E8B5_4E76_8283_BDC1C8A63FA8')