PDA

View Full Version : اختصاص مبلغ بر اساس امتياز



انگوران
دوشنبه 10 خرداد 1389, 09:03 صبح
دوستان سلام - در فايل ضميمه قصدم اينكه در صورتي كه مجموع امتياز يك فرد به 30 برسه مبلغ هديه 20.000 تومان و پس از اون در صورتي كه به امتياز 5 تا اضافه بشه به مبلغ 5000 تومان اضافه بشه ( يعني امتياز 35 مبلغ 25.000 تومان ، امتياز 40 مبلغ 30.000 تومان و ... )
اگه دوستان لطف كنن و اين شرط رو توي كويري برام بذارن ممنون ميشم در غير اينصورت اين شرط روي فرم اعمال بشه . با سپاس فراوان

alirezabahrami
دوشنبه 10 خرداد 1389, 13:20 عصر
دوستان سلام - در فايل ضميمه قصدم اينكه در صورتي كه مجموع امتياز يك فرد به 30 برسه مبلغ هديه 20.000 تومان و پس از اون در صورتي كه به امتياز 5 تا اضافه بشه به مبلغ 5000 تومان اضافه بشه ( يعني امتياز 35 مبلغ 25.000 تومان ، امتياز 40 مبلغ 30.000 تومان و ... )
اگه دوستان لطف كنن و اين شرط رو توي كويري برام بذارن ممنون ميشم در غير اينصورت اين شرط روي فرم اعمال بشه . با سپاس فراوان
سلام
جناب انگوران! كد زير راباعجله نوشتم كاملاً امتحان نكردم آن در همان رويداد Form_Currentجايگزين كن ببين جواب ميده يا نه ؛ اگر جواب نداد مجدداً اعلام بفرما تا آن را بر اساس خواسته شما تغيير بدهم .


Dim x As Integer
x = 30
Me.Text5 = DSum("emtiaz", "table1", "nam='" & Me.nam & "'")
If Text5 < 30 Then
Text7 = 0
Exit Sub
End If
y = Text5 Mod 5
If Text5 > 30 And y <> 0 Then
Text7 = (((Text5 - 30) - y) * 5000) / 5 + 20000
End If
If Text5 > 30 And y = 0 Then
Text7 = ((Text5 - 30) * 5000) / 5 + 20000
End If


موفق باشيد

انگوران
دوشنبه 10 خرداد 1389, 14:12 عصر
دوست عزيز از زحمتي كه كشيدي ممنونم اينجا كه جواب داد و كارم رو راه انداخت اگه زحمتي نيست تو كويري هم تست كنين ممنونم ميشم . با سپاس مجدد

انگوران
دوشنبه 10 خرداد 1389, 15:25 عصر
دوست عزيز يه بار ديگه كد رو چك كردم امتياز 30 رو هم 35000 نشون ميده و 45 رو هم 35000 نشون ميده در ضمن توي كويري كدي به شكل زير نوشتم جواب نداد لطفاً در صورت امكان اصلاح بشه .

hedyeh: IIf(Sum([emtiaz])>30;(Sum([emtiaz])-30*5000)/5+20000;20000)

alirezabahrami
سه شنبه 11 خرداد 1389, 09:44 صبح
دوست عزيز يه بار ديگه كد رو چك كردم امتياز 30 رو هم 35000 نشون ميده و 45 رو هم 35000 نشون ميده در ضمن توي كويري كدي به شكل زير نوشتم جواب نداد لطفاً در صورت امكان اصلاح بشه .

hedyeh: IIf(Sum([emtiaz])>30;(Sum([emtiaz])-30*5000)/5+20000;20000)
سلام
دركدي كه ارائه شد جلوي علامت بزرگتر از 30 يك علامت مساوي هم اضافه كن (بصورت=<)
در خصوص ايجاد اعمال كد فوق در كوئري هم بر روي چشم بررسي مي كنم . ولي جناب انگوران پيشنهاد ميكنم در موارديكه كد ساده است از آن در كوئري استفاده كن و زمانيكه كد ها يك مقداري پيچيده ميشوند و به چند خط ميرسند بكار بردن آن در كوئري باعث سردر گمي ( بخاطر نوشتن آن در يك سطر )ميشود . مثلاً در همين نمونه شما بنظر حقير آنچنان لزومي ندارد كه كد هاي فوق در كوئري بنويسيد .
موفق باشيد

انگوران
چهارشنبه 12 خرداد 1389, 06:30 صبح
ضمن تشكر از دوست خوبم بهرامي مشكل كد با راهنمائيشون حل شد و مشكل كويري هم با اضافه كردن يك پرانتز حل شد .

hedyeh: IIf(Sum([emtiaz])>30;((Sum([emtiaz])-30)*5000)/5+20000;20000)