楼上说的对 具体判断ascii值就是用asc例如 If Asc(Mid(str, i, 1)) < 0 Then j = j + 1
可以判断输入值是否小于3位和是否是一个数 IF len(text1.text)<3 and isnumer(text1.text) then
1 数字输入不小于3,不能用if len(text1.text)<3 then msgbox "error",因为这样如果用户输入的是空格也可以,不报错!所以应该用: if val(text1.text)<100 then msgbox "error" 2. 用keypress事件,在里面判输入的keyascii的大小,英文和数字都有自己固定的范围,不知道,可以自己测试一下,如,新建立一个窗体,在form-keypress事件中写入:aa=keyascii print aa 就可知道了
可参如下代码:Select Case sUnitOperation Select Case KeyAscii Case 13 '回车的常量 SendKeys "{Tab}" KeyAscii = 0 Case 8, 32 ' Case Else If Chr(KeyAscii) Like "[!0-9,!a-z,!A-Z,Up,Down,Left,Right,PgUp,PgDn,Home,End,Ins,Del]" Then KeyAscii = 0 MsgBox "部门编号不能用汉字或特殊字符编码 ! ", vbInformation, App.Title 'Me.Caption End If End Select
具体判断ascii值就是用asc例如
If Asc(Mid(str, i, 1)) < 0 Then j = j + 1
IF len(text1.text)<3 and isnumer(text1.text) then
if val(text1.text)<100 then msgbox "error"
2. 用keypress事件,在里面判输入的keyascii的大小,英文和数字都有自己固定的范围,不知道,可以自己测试一下,如,新建立一个窗体,在form-keypress事件中写入:aa=keyascii
print aa
就可知道了
Select Case KeyAscii
Case 13 '回车的常量
SendKeys "{Tab}"
KeyAscii = 0
Case 8, 32
'
Case Else
If Chr(KeyAscii) Like "[!0-9,!a-z,!A-Z,Up,Down,Left,Right,PgUp,PgDn,Home,End,Ins,Del]" Then
KeyAscii = 0
MsgBox "部门编号不能用汉字或特殊字符编码 ! ", vbInformation, App.Title 'Me.Caption
End If End Select