چرا خطای Overflow ؟

Collapse
X
 
  • زمان
  • نمایش
Clear All
new posts
  • Juliet

    • 2014/06/17
    • 47

    چرا خطای Overflow ؟

    درود دوستان

    بیس کار فایل اکسلم، یک متغیر 7 رقمی هست، که 4 رقم اول رو از یک ComboBox استخراج میکنم (مشکلی باهاش ندارم) بعد از یک TextBox سه رقم بعدی رو میگیرم.
    (ضمناً برای واضح تر شدن کدم برای شما باید بگم کاربر عدد خام رو وارد میکنه من در قسمت Select Case سه رقمیش میکنم)
    این کار روی دو متغیر که از دو TextBox تغذی
    «زمانيکه با زمانه خويش نساختي و با مسندنشينان و امربران ايشان کنار نيامدي
    و آنچه را
    جاهلان ميگويند، جاهلانه باز نگفتي،
    لاجرم به تبعيد ابدي گرفتار خواهي شد!
    حتي اگر جسمت در کنج منزلي در شهري ساکن باشد؛
    و اگر بر نپذيرفتن، پاي فشردي،

    آواره ات خواهند کرد،
    به زندانت خواهند افکند
    و به دارت خواهند کشيد ...»
  • khakzad

    • 2010/03/17
    • 2034

    #2
    ????????????????????
    نامفهوم هست

    کامنت

    • Juliet

      • 2014/06/17
      • 47

      #3
      درود

      عذر خواهی میکنم، ظاهراً موقع ویرایش برای اضافه کردن یک جمله، متن پاک شده و متوجه نشدم، مجدداً توضیح میدم.

      بیس کار فایل اکسلم، یک متغیر 7 رقمی هست، که 4 رقم اول رو از یک ComboBox استخراج میکنم (مشکلی باهاش ندارم) بعد از یک TextBox سه رقم بعدی رو میگیرم.
      (ضمناً برای واضح تر شدن کدم برای شما باید بگم کاربر عدد خام رو وارد میکنه من در قسمت Select Case سه رقمیش میکنم)
      این کار روی دو متغیر که از دو TextBox تغذیه میشن انجام میشه، نکته ای که متوجه نمیشم اینه که در کیس اول دقیقاً به جوابی که میخوام میرسم ولی در کیس دوم با اینکه کد دقیقاً مشابه هست، با خطا مواجه میشم، روی یکی از سه حالت کیس دوم پیغام خطای RunTime Error '6' : Overflow دارم.

      میشه لطفاً بگین چرا با وجود یکسان بودن همه شرایط روی کیس اول خطا نمیده، کدی که میخوام تولید میشه ولی کیس دوم رو ایراد میگیره؟
      سپاس
      کد:
        
      Private Sub tb_Code_e_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
      
          If (KeyCode = 13) Then
              Select Case (Val(tb_Code_s.Text))
                  Case Is < 10: Code_s = Val(Code_s & "00" & tb_Code_s.Text)
                  Case 10 To 99: Code_s = Val(Code_s & "0" & tb_Code_s.Text)
                  Case Is > 99: Code_s = Val(Code_s & tb_Code_s.Text)
              End Select
          [COLOR=#ff3366]
              Select Case (Val(tb_Code_e.Text))
                  Case Is < 10: Code_e = Val(Code_e & "00" & tb_Code_e.Text)
                  Case 10 To 99: Code_e = Val(Code_e & "0" & tb_Code_e.Text)
                  Case Is > 99: Code_e = Val(Code_e & tb_Code_e.Text)
              End Select[/COLOR]
      
        End If
      End Sub
      «زمانيکه با زمانه خويش نساختي و با مسندنشينان و امربران ايشان کنار نيامدي
      و آنچه را
      جاهلان ميگويند، جاهلانه باز نگفتي،
      لاجرم به تبعيد ابدي گرفتار خواهي شد!
      حتي اگر جسمت در کنج منزلي در شهري ساکن باشد؛
      و اگر بر نپذيرفتن، پاي فشردي،

      آواره ات خواهند کرد،
      به زندانت خواهند افکند
      و به دارت خواهند کشيد ...»

      کامنت

      • Juliet

        • 2014/06/17
        • 47

        #4
        دو متغیر Code_s و Code_e رو از Integer به Long تغییر دادم، مشکل حل شد، ولی هنوز نمیدونم چرا در شرایط دقییییقاً یکسان برای یکی خطا میداد و برای دیگری نه.
        «زمانيکه با زمانه خويش نساختي و با مسندنشينان و امربران ايشان کنار نيامدي
        و آنچه را
        جاهلان ميگويند، جاهلانه باز نگفتي،
        لاجرم به تبعيد ابدي گرفتار خواهي شد!
        حتي اگر جسمت در کنج منزلي در شهري ساکن باشد؛
        و اگر بر نپذيرفتن، پاي فشردي،

        آواره ات خواهند کرد،
        به زندانت خواهند افکند
        و به دارت خواهند کشيد ...»

        کامنت

        Working...