View Full Version : سوال: کمک برای کار با دستور شرطی
ehsan32909
جمعه 01 آبان 1388, 21:50 عصر
سلام
اساتید من یه جدول دارم که توش سه تا فیلد هستش و میخوام یه دستور شرطی بزارم که مقادیر فیلد اول رو چک کنه و بعد مقادیر فیلد دوم رو چک کنه و با توجه به مقادیر فیلد اول و دوم ، مقداری رو که در شرط نوشتم داخل ستون سوم قرار بده.
یعنی فیلد اول یه کمبو باکس هستش با 8 مقدار و فیلد دوم هم یه کمبو باکس هستش با 3 مقدار حالا می خوام یه دستور شرطی باشه که فیلد اول رو چک کنه و اگر مقدار مثلا 2 بود حالا بره و فیلد دوم رو چک کنه و اگر مثلا 3 بود ، در فیلد سوم مثلا عدد 44 رو قرار بدهک
لطفا به طور کامل توضیح بدید چون من تازه اکسس رو شروع کردم.
با تشکر
ehsan32909
یک شنبه 03 آبان 1388, 07:23 صبح
از اساتید کسی نبود به ما جواب بده؟
dadsara
یک شنبه 03 آبان 1388, 07:31 صبح
از اساتید کسی نبود به ما جواب بده؟
سلام
خوب طبیعی است در رخداد مورد نظرتان همین را که گفتید بنویسید
if text1=8 and text2=2 then
text3=44
endif
ehsan32909
یک شنبه 03 آبان 1388, 15:04 عصر
ممنون از پاسخ شما ولی من این رو میدونستم.
مشکل من این هستش که این دستور رو می خوام برای چند مقدار اجرا کنم یعنی اگر text1=2 and text2=3
یه رخداد و اگر
text1=2 and text2=4
یه رخداد دیگه و اگر
text1=5 and text2=3
یه رخداد دیگه و الا اخر که فکر کنم باید با دستور if ... if else استفاده کنم که این دستور در access وجود نداره و باید یه کد vba نوشت ولی من قوانین فرمول نویسی اکسس رو بلد نیستم یعنی چه جوری به یک ابجکت یا فیلد کد نسبت بدم یا براش کد بنویسم اگه مرجعی (فارسی یا انگلیسی) دارید به من معرفی کنید.
به طور مثال یک فیلد رو باید به این صورت نوشت : [field name]
nabeel
یک شنبه 03 آبان 1388, 16:57 عصر
سلام ehsan32909
باید با دستور if ... if else استفاده کنم
دستور ElseIf در داخل اکسس وجود داره , تابع IIf نیز همین کار رو انجام میده ولی با محدودیت تعداد شرط روبرو میشید . توصیه میکنم از روشی که در ادامه براتون توضیح میدم استفاده کنید . ( ارائه مثال در صورت حصول نتیجه به عهده خودتون )
از دستور Caseاستفاده کنید , مدیریت این دستور راحت تر از دستورات if تو در تو هستش
فرض میکنیم شما دو کامبو با نامهای ComboA و ComboB دارید
Select Case ComboA + ComboB
Case 3
TextX = 6
Case 5
TextX = 8
Case 11
TextX = 13
.
.
.
Case Else
End Select
با این روش اعمال تغییرات آتی بسیار ساده تر هستش ضمناً شما تنها از یک دستور Case استفاده میکنید , سرعت Case تا حدودی بیشتر از If هستش .
در انتظار ارسال نمونه نهایی شما که در اون مشکل رو حل کردید , هستیم .
موفق باشید
bitasoft.ir
چهارشنبه 20 آبان 1388, 20:53 عصر
در مورد Case یه مثال کاربردی هم میزاشتین بد نبود
nabeel
چهارشنبه 20 آبان 1388, 21:51 عصر
سلام
یه نمونه جهت بررسی روش کلی
39693
موفق باشید
mahdi shoghiyan
چهارشنبه 20 آبان 1388, 23:05 عصر
سلام دوست عزیز.
من هم با مشکل مشابهی برخورد کردم و یک راه چاره ای یافتم یک فایل شامل فایل کومبو قرار دادم که می تونه تکس باکس باشه.
با امید موفقیت برای شما.:لبخندساده:
http://barnamenevis.org/forum/attachment.php?attachmentid=39353&d=1257351805
yaheidar
چهارشنبه 30 آذر 1390, 07:19 صبح
سلام.اگه ممکنه در مورد سوالی که در پست اول پرسیده شده بیشتر راهنمایی بفرمایید.
متشکرم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.