نیاز دارم مقداری که از فرم از تکس باکس وارد برنامه می شود حتما عدد نه نوشته باشد.
ولی هرکاری می کنم و هرجور عمل می کنم نوع داده مقداری که از تکس باکس می رسد text است و تبدیل هم نمی شود.
راه چاره چیست؟
سلام
اگر سوالتون را درست متوجه شده باشم
کد:
Private Const CharSet As String = "0123456789"
Private Sub Text1_Change()
Dim Pos As Long, Str As String, Text As String
Dim SelStart As Long
With Text1
Text = .Text
SelStart = .SelStart
For Pos = 1 To Len(Text)
If InStr(CharSet, Mid(Text, Pos, 1)) > 0 Then
Str = Str & Mid(Text, Pos, 1)
End If
Next
.Text = Str
.SelStart = SelStart
End With
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If InSt
r(CharSet, Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
فرض می کنیم که نام TextBox ما Text1 است و می خواهیم کاراکترهای 0 الی 9
قابل قبول باشند. شما می توانید هر کاراکتر دیگری را هم که قابل قبول است به عبارت رشته ای CharSet اضافه کنید.