PDA

View Full Version : مقایسه دو فیلد با کوئری



Profesorjd
یک شنبه 14 بهمن 1386, 20:57 عصر
سلام و عرض خسته نباشید .
اگر بخواهیم دو فیلد ( یا بیشتر ) را با هم مقایسه بکنیم و اگر مساوی بود یا مثلاً با اختلاف 2 بیشتر یا کمتر متنی نوشته شود .
مثلاً 2 فیلد عدد ( نامبر یا تکست) دارم که مقایسه کنم که مثلاً اگر در هر رکوردش عدد 7 باشد و در این دو فیلد هم عدد 7 باشد میشود:

IIF )[Field1]=[Field2]);مساوی;مخالف
مشکلم این است که مثلاً فیلد 1 اگر یکی بیشتر یا دوتا بیشتر و .. بود بازهم همین پیغام را بدهد .
با تشکر

karmand
دوشنبه 15 بهمن 1386, 08:38 صبح
از دستور iifپشت سر هم میتوانی استفاده کنی یعنی انجا که مخالف را نوشتی را بردار و شرط بعدی را بگذار
بعد هم بجای شرط مساوی از منها استفاده کن

اگر زمان ورود اطلاعات می خواهی استفاده کنی از select case استفاده کن
اما اگر برای گزارش می خواهی از کواری استفاده و همان شرط iif
گر چه برای گزارش نیز می توانی در رخداد آن فورمت دیتایل نیز می توانی با کیس استفاده کنی

Profesorjd
دوشنبه 15 بهمن 1386, 16:09 عصر
سلام و تشکر
1-اینکار را برای گزارش میخواهم
2- من از چند روشی که بنظرم میرسد رفتم و لی غلط بود IIF([]=[];true;fals برای تساوی عمل میشود ولی 3 شرط یک جواب دارد . یعنی اگرفیلد اول 7 و فیلد دوم 7 باشد یا فیلد اول 7 باشد و فیلد دوم 8 و یا فیلد اول 7 باشد و فیلد دوم 9 باشد هر 3 شرط جواب موافق و اگر غیر ازین بود جواب مخالف .
3- راهی که فرموده‌اید درست انجام میشود ولی من نتوانستم دستور درست آنرا بنویسم ( بیسوادی من است ) لطف می‌فرمایید اگر دستور درست را مرقوم فرمایید .

karmand
سه شنبه 16 بهمن 1386, 08:05 صبح
Expr1: IIf([a]=[b];"مساوی";IIf([a]>[b];"بزرگتر";"کوچکتر"))

Profesorjd
پنج شنبه 18 بهمن 1386, 19:05 عصر
سلام و تشکر
1- دوست گرامی اگر درست فهمیده باشم شرط مساوی ( True) و False آن با شرط دیگر انجام شود ؟
2- مشکل این نیست که بزرگتر باشد یا کوچکتر . ببینید 3 شرط دارد اگر مساوی بود یا با 1 اختلاف یا یا 2 اختلاف یا با 3 اختلاف جواب True ( یا هرچیز فارسی نوشته ) در غیر اینصورت False ( یا هرچیز فارسی نوشته) شود .
3- من آمدم یک فیلد دیگر درست کردم و A را از B کم کردم در فیلد دیگر مقایسه کردم که اگر B تا 3 تا بزرگتر بود 3<[a] جواب دهد ولی اشکال کار اینجاست که اگر a کوچکتر از b باشد نیز همان جوابی را میدهد که مساوی یا با اختلاف 3 بزرگتر است میدهد و این کار را خراب میکند .