PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چرا خطای Overflow ؟



Juliet
2014/08/17, 22:31
درود دوستان

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

khakzad
2014/08/17, 22:57
????????????????????
نامفهوم هست

Juliet
2014/08/18, 09:34
درود

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

بیس کار فایل اکسلم، یک متغیر 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

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

End If
End Sub

Juliet
2014/08/19, 11:42
دو متغیر Code_s و Code_e رو از Integer به Long تغییر دادم، مشکل حل شد، ولی هنوز نمیدونم چرا در شرایط دقییییقاً یکسان برای یکی خطا میداد و برای دیگری نه.