1.if lenb(text1.text)<3 then msgbox "error"
2.判断ascii值

解决方案 »

  1.   

    楼上说的对
    具体判断ascii值就是用asc例如
    If Asc(Mid(str, i, 1)) < 0 Then j = j + 1
      

  2.   

    可以判断输入值是否小于3位和是否是一个数
    IF len(text1.text)<3 and isnumer(text1.text) then
      

  3.   

    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
    就可知道了
      

  4.   

    可参如下代码: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