PDA

View Full Version : یک سوال در مورد textbox



mostafa612003
جمعه 27 مهر 1386, 19:10 عصر
سلام
من یک فرم ورود اطلاعات دارم
2 تا textbox دارم که یکی مقدار و یکی قیمت می باشد
وقتی که قیمت را وارد می کنم در onchange می گویم که مقدار را در قیمت ضرب کن و جواب را در textbox سوم قرار بده
حالا اگر کاربر قیمت را اشتباه وارد کرده باشد و عدد قیمت را پاک می کند که از اول بنویسد برنامه پیغام type mismatch می دهد:
Dim m As Integer
If quality.Text = " " Then
m = 0
Else
m = CInt(quality.Text) * CInt(price.Text)
End If
sum.Text = CStr(m)

لطفا یک راهنمایی بفرمایید
متشکرم

__siavash__
جمعه 27 مهر 1386, 19:31 عصر
کد شما درسته فقط اون جا رو که قرمز کردم دقت کن !!!


Private Sub quality_Change()
Dim m As Integer
If quality.Text = "" Then
m = 0
Else
m = CInt(quality.Text) * CInt(price.Text)
End If
Sum.Text = CStr(m)
End Sub

mostafa612003
شنبه 28 مهر 1386, 10:28 صبح
به جاش چی بگذارم؟

__siavash__
شنبه 28 مهر 1386, 11:06 صبح
به جاش چی بگذارم؟
به جاش هیچی نمیخواد بزاری
اون کدی که شما گذاشتی اشتباها " " یه Space وسط بود که اونو برداری دیگه اررور نمیده !

MMR_1344
شنبه 28 مهر 1386, 11:49 صبح
دوست من اگر از دستور Val برای تبدیل تکست به عدد استفاده کنی شاید بهتر باشه

Evil 69
یک شنبه 29 مهر 1386, 19:36 عصر
نکته برای کمتر خطا دادن :
برای اینکه برنامه شما بعد از اجرا خطا هایی رو که بر اثر بعضی عوامل ایجاد میشه رو نگیره ( مثلا وقتی یک شی نیست یا کار بر اشتباهن اون رو پاک کرده یا وقتی می خاستی یک شی رو به شکل پویا پاک کنی و اون اندیس نیست ) می تونی از درستور زیر ایستفاده کنی
on error resume next
این طوری از روی اون رد میشه و اگر خواستی اگر خطا داد یک کاری رو بکنه
on error goto labelname
که labelename یک نام دلخاه برای اون خطا هست
بعد از این در اخر دستوراتت اسم اون خطا رو مینویسی و بعد کارهای لازم را در اون قرار می دی
on error goto serr
.
.
.
serr:
promps