textbox需要控制数据录入,规则是:录入数据为3位或者4位数字,要求无论录入3为还是4位,第二位均为“.”,例如0.0,0.12,3.0等等。(已知asc码数字区间为48到57,“.”的asc码为46)代码如下:Public Sub TextboxVisit(T As TextBox)
Dim i As Integer
ID=T.text
If Len(T.text) < 2 or Len(T.text) > 4 Then
T.Text = ""
MsgBox ("错误1,请重新输入!")
Exit Sub
End If
For i = 1 To 4
If Asc(Mid(ID, i, 1)) < 46 or Asc(Mid(ID, i, 1)) = 47 or Asc(Mid(ID, i, 1)) > 57 Then
T.Text = ""
MsgBox ("错误2,请重新输入!")
Exit Sub
End If
Next i
If (Asc(Mid(VisitID, 2, 1)) <> 46) Then
T.Text = ""
MsgBox ("错误3,请重新输入!")
Exit Sub
End If
End Sub
请教各位啊,谢谢!
Dim i As Integer
ID=T.text
If Len(T.text) < 2 or Len(T.text) > 4 Then
T.Text = ""
MsgBox ("错误1,请重新输入!")
Exit Sub
End If
For i = 1 To 4
If Asc(Mid(ID, i, 1)) < 46 or Asc(Mid(ID, i, 1)) = 47 or Asc(Mid(ID, i, 1)) > 57 Then
T.Text = ""
MsgBox ("错误2,请重新输入!")
Exit Sub
End If
Next i
If (Asc(Mid(VisitID, 2, 1)) <> 46) Then
T.Text = ""
MsgBox ("错误3,请重新输入!")
Exit Sub
End If
End Sub
请教各位啊,谢谢!
id = T.Text
If Len(T.Text) < 2 Or Len(T.Text) > 4 Then
T.Text = ""
MsgBox ("错误1,请重新输入!")
Exit Sub
End If
For i = 1 To Len(T.Text)
If Asc(Mid(id, i, 1)) < 46 Or Asc(Mid(id, i, 1)) = 47 Or Asc(Mid(id, i, 1)) > 57 Then
T.Text = ""
MsgBox ("错误2,请重新输入!")
Exit Sub
End If
Next i
If (Asc(Mid(id, 2, 1)) <> 46) Then
T.Text = ""
MsgBox ("错误3,请重新输入!")
Exit Sub
End If
End Sub
Dim i As Integer
ID = T.Text
If Len(T.Text) < 2 Or Len(T.Text) > 4 Then
T.Text = ""
MsgBox ("错误1,请重新输入!")
Exit Sub
End If
For i = 1 To Len(T.Text)
If Asc(Mid(ID, i, 1)) < 46 Or Asc(Mid(ID, i, 1)) = 47 Or Asc(Mid(ID, i, 1)) > 57 Then
T.Text = ""
MsgBox ("错误2,请重新输入!")
Exit Sub
End If
Next i
If (Asc(Mid(ID, 2, 1)) <> 46) Then
T.Text = ""
MsgBox ("错误3,请重新输入!")
Exit Sub
End If
End Sub
你直接单步运行,调试一下,看看 T 是否传到TextboxVisit中,“错误1,请直接输入”显然是没有参数传递。