一、学友问题描述:
爱好者:--初哥 21:34:30
请教一个问题:想在文本框控件deptID更新后,检查输入内容,长度不等于4就提示然后光标停在这个控件重输,可是提示后光标不能停在这个控件,这是什么回事呀?
Private Sub deptID_AfterUpdate()
If Len(Trim(Me.deptID)) <> 4 Then
MsgBox "编号应为4位,前2位为大写字母,后2位为数字"
'Me.deptID.SetFocus
deptID.SetFocus
End If
End Sub
二、解决方法:
方法一,用有效性规则最简单:
这种问题换个思路方法会更简单,有时候不一定非要跟代码死磕的,何不用有效性规则控制一下。在控件属性的验证规则里设置,Len([字段名称])=4,这样不符合要求光标就永远停在这个控件里。
方法二,继续使用代码的方式控制:
Private Sub deptID_BeforeUpdate(Cancel As Integer)
If Len(Trim(Me.deptID)) <> 4 Then
MsgBox "编号应为4位,前2位为大写字母,后2位为数字"
Cancel=True
End If
End Sub
这样当文本框输入不符合要求时,就会停留光标在这个文本框,直到输入正确为止。
Access软件网交流QQ群(群号:198465573) |