急,在线等,高手进~~~~

ymoa 2003-11-23 12:04:47
小弟想在textbox中输入一个客户编号,这个编号只能以CS开头,后面再跟三位数字,
如"CS123",怎么样才能进行有效性检验,限制只能按规定输入呢?
高手指点一下呀,小弟做练习,急~~~~
...全文
65 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ymoa 2003-11-23
  • 打赏
  • 举报
回复
哦,是小弟没说得清楚:
小弟是想在当它失去焦点的时候再检验,这就有个问题了:
当你这个textbox得到焦点后,无论你有没有输入值,输入的值是否正确,
这时,你想不再输入,而去点"返回"按钮的时候,textbox又进行了一次有效性检验
怎样才能在点"返回"按钮的时候跳过有效性检验呢?
wumy_ld 2003-11-23
  • 打赏
  • 举报
回复
Private Sub cmdOK_Click()
Text1.Text = Trim(Text1.Text)
If Left(Text1.Text, 2) <> "CS" Then
MsgBox "编号不符合要求!请重新输入!", vbInformation, "提示"
Exit Sub
End If

If Len(Text1.Text) <> 5 Then
'提示
Exit Sub
End If

If IsNumeric(Right(Text1.Text, 3)) Then
'提示
Exit Sub
End If

MsgBox "OK"
End Sub
wumy_ld 2003-11-23
  • 打赏
  • 举报
回复
Private Sub cmdOK_Click()
Text1.Text = Trim(Text1.Text)
If Left(Text1.Text, 2) <> "CS" Then
MsgBox "编号不符合要求!请重新输入!", vbInformation, "提示"
Exit Sub
End If
End Sub
myhfit 2003-11-23
  • 打赏
  • 举报
回复
方法1:用Microsoft MaskEditControl替换Textbox
这个控件Vb带的
把Mask属性改成CS###就行了
方法2:在keypress里检测
如果一定要在LostFocus里检测的话那就加个全局变量(......)
flyingscv 2003-11-23
  • 打赏
  • 举报
回复
大概演示一下
设个变量b
dim b as string
Private Sub Text1_LostFocus()

if b="返回" then
b=""
exit sub
end if
End sub
Private Sub 返回_Click()
b="返回"
End sub
monday48427 2003-11-23
  • 打赏
  • 举报
回复
If txtId.Text Like "[C][S]###" <> True Then '控制文本框输入的文本
MsgBox "!", vbExclamation, "警告"
txtId.Text = ""
txtId.SetFocus
Exit Sub
End If
ymoa 2003-11-23
  • 打赏
  • 举报
回复
这段代码是可以用的(If IsNumeric(Right(Text1.Text, 3)) Then 应该改为:
If NOt IsNumeric(Right(Text1.Text, 3)) Then),
但是大家发现没,如果窗体上只有这个文本框和一个退出按钮的时候的 ,你在textbox里输入的东西不符合有效性检验时,你点退出按钮是没用,因为textbox的有效性检验没通过,只要你点"退出"按钮,就有个msgbox跳出来,告诉你
"编号不符合要求!请重新输入!",怎么样才能跳过这个有效性检验呢?

请大家给想想办法嘛,拜托了~~~~~
subzero 2003-11-23
  • 打赏
  • 举报
回复
Private Sub Text1_LostFocus()
Text1.Text = Trim(Text1.Text)
If Left(Text1.Text, 2) <> "CS" Then
MsgBox "编号不符合要求!请重新输入!", vbInformation, "提示"
Text1.Text=""
Exit Sub
End If

If Len(Text1.Text) <> 5 Then
'提示
Text1.Text=""
Exit Sub
End If

If IsNumeric(Right(Text1.Text, 3)) Then
'提示
Text1.Text=""
Exit Sub
End If

MsgBox "OK"
End Sub
prok 2003-11-23
  • 打赏
  • 举报
回复
检测事件不是在okcmd的click里吗?返回时不是点另一个cmd吗?应该不会检测的呀
ymoa 2003-11-23
  • 打赏
  • 举报
回复
呵呵,多多来指教哦,说重点的好吗?~~~
jpinglee 2003-11-23
  • 打赏
  • 举报
回复
专门使用一个按钮来做检验,在它的click事件里加
yhl123 2003-11-23
  • 打赏
  • 举报
回复
我UP,给分吗?
ymoa 2003-11-23
  • 打赏
  • 举报
回复
高手们还在吗,不都去吃中饭呀,来一个指点一下撒~~~~~

7,766

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧