نمایش نتایج 1 تا 4 از 4

نام تاپیک: کمک - دستور شرطی پلکانی ( چند سطحی )

  1. #1

    کمک - دستور شرطی پلکانی ( چند سطحی )

    سلامم خدمت دوستان من توی یه فرمی دو تا قیل دارم که میخوام از یکی (m) ورودی بگیرم و در صورت برقرار بودن هریک از شرطا نسبت به اون محاسبات رو انجام بده و در فیلد دوم (vkol) بیاره. با مدلی که وارد کردم بظاهر همه چی درسته اما با نتایج قاطی میشه و دزست در نمی یاد خواهشن اگه راهنمایی دارین دریغ نکنید. شدیدا ضروزی هست.
    s = m
    If s < 0 Or s > 1000000000000# Then
    MsgBox "!""

    ElseIf 0 < s <= 200000000 Then
    Me.vkol = (s * 0.07)

    ElseIf 200000000 < s <= 500000000 Then
    Me.vkol = (200000000 * 0.07) + ((s - 200000000) * 0.05)


    ElseIf 500000000 < s <= 1000000000 Then
    Me.vkol = (200000000 * 0.07) + (300000000 * 0.05) + ((s - 500000000) * 0.04)

    ElseIf 1000000000 < s <= 5000000000# Then
    Me.vkol = (200000000 * 0.07) + (300000000 * 0.05) + (500000000 * 0.04) + ((s - 1000000000) * 0.03)
    Else
    End If
    End Sub

  2. #2

    نقل قول: کمک - دستور شرطی پلکانی ( چند سطحی )

    فایل ساده نمونه رو هم گذاشتم. خواهشن زودتر راهنمایی کنید!
    فایل های ضمیمه فایل های ضمیمه

  3. #3
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: کمک - دستور شرطی پلکانی ( چند سطحی )

    همیشه کد رو درون تگ کد قرار بدین که خوانا باشه

    نتایج قاطی میشه و دزست در نمی یاد
    اینو توضیح ندادین در چه حالتی درست در نمیاد چون کد همین الان نشون میده که بازای مقادیر بیشتر از 5000000000 تا 1000000000000 تکلیفش مشخص نیست - اون else آخر

    برای اطمینان بجای اینکه مقادیر پله ها رو مستقیما در شر بکار ببرین اونها رو بصورت ثابت (یا متغیر) تعریف کنین (شاید مقادیر پله ها نادرست هست - تعداد صفر رو چک کنین) و بجای if .. then ..else از select case استفاده کنین
    بهتر هست که یک تابع بنویسین و اون تابع رو چک کنین و وقتی درست بود از تابع در برنامه استفاده کنین

  4. #4

    نقل قول: کمک - دستور شرطی پلکانی ( چند سطحی )

    ممنونم از توجه تون استاد بزرگ وار، تقریبا اون مواردی که فردمودنین رو تست کردم. منظور از قاطی کردن این بود که تو دوتا سطح اول محاسبات درست در می اومد. موقعی که سومی روز اضافه می کردم یا اون سطح رو و بعدیا رو در نظر نمی گرفت و یا اگه دسکاری می کردم اون رو و بعدیا رو درست می داد و شرطای قبلی رو قاطی می کرد. با select case آشنا نیستم.ممنون میشم را هنمایی کنین.
    اما می دونین یه راهی پیذا کردم که فکر میکنم به کاری مبتدیای مثل من بیاد البته یک روش استانداردی نیست؛ من اومدم چند تا فیلد دیگه تعریف کردم و شرطای بعد رو تو اونا وارد کردم با چند شرط اضافی و جمع اون فیلدا تونستم نتیجهی درستی بگیرم. کدا رو می فرستم.
    Private Sub m_AfterUpdate()
    s = mIf s <= 200000000 Then
    Me.vkol = (s * 0.07)
    ElseIf 200000000 < s <= 500000000 Then
    Me.vkol = (200000000 * 0.07) + ((s - 200000000) * 0.05)
    End If
    If s > 500000000 Then
    Me.vkol = 0
    End If

    If 500000000 < s <= 100000000 Then
    Me.h = (200000000 * 0.07) + (300000000 * 0.05) + ((s - 500000000) * 0.04)

    End If
    If s <= 500000000 Or 1000000000 < s Then
    Me.h = 0
    End If

    If 1000000000 < s <= 5000000000# Then
    Me.k = (200000000 * 0.07) + (300000000 * 0.05) + (500000000 * 0.04) + ((s - 1000000000) * 0.03)
    End If
    If s > 5000000000# Or s <= 1000000000 Then
    Me.k = 0

    End If

    If 5000000000# < s <= 10000000000# Then
    Me.p = (200000000 * 0.07) + (300000000 * 0.05) + (500000000 * 0.04) + (4000000000# * 0.03) + ((s - 5000000000#) * 0.02)
    End If
    If s > 10000000000# Or s <= 5000000000# Then
    Me.p = 0
    End If


    If 10000000000# < s Then
    Me.e = (200000000 * 0.07) + (300000000 * 0.05) + (500000000 * 0.04) + (4000000000# * 0.03) + (5000000000# * 0.02) + ((s - 10000000000#) * 0.01)
    End If
    If s <= 10000000000# Then
    Me.e = 0
    End If
    Me.hv_ejra = s * 0.02
    If Me.hv_ejra > 10000000 Then
    Me.hv_ejra = 10000000
    End If

    End Sub
    اگر که حرفه ای نباشه اما بدرد من خورد و فکر می کنم بکار بعضی هام بیاد

تاپیک های مشابه

  1. سوال: درخواست راهنمایی دستور شرطی چند متغیره ++C
    نوشته شده توسط 77777778 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 6
    آخرین پست: چهارشنبه 01 خرداد 1392, 12:32 عصر
  2. سوال: کمک برای کار با دستور شرطی
    نوشته شده توسط ehsan32909 در بخش Access
    پاسخ: 8
    آخرین پست: چهارشنبه 30 آذر 1390, 07:19 صبح
  3. كمك براي دستور شرطي
    نوشته شده توسط iran2008 در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: شنبه 05 بهمن 1387, 05:43 صبح
  4. مشکل در ارسال و دریافت فایل pdf با کمک دستور header
    نوشته شده توسط balis_pascal در بخش PHP
    پاسخ: 2
    آخرین پست: جمعه 18 فروردین 1385, 12:50 عصر
  5. دانلود فایل به کمک دستور header
    نوشته شده توسط cpuman در بخش PHP
    پاسخ: 5
    آخرین پست: شنبه 05 فروردین 1385, 01:30 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •