在向数据库添加和修改记录时,要先判断文本框的输入是否满足要求,由于有好多情况要用到,我把这个判断做成了一个过程,在每次要用到的事情前先调用,但每次判断完后程序就跳出来啦,这是为什么呀?该怎么解决。
比如:
我的判断过程的代码为:
Public Sub CheckInput()
If CSTxt(0).Text = "" Then
MsgBox "请输入城市名称!", vbOKOnly + vbExclamation, "信息输入"
Exit Sub
End IfIf CSTxt(1).Text = "" Or Val(CSTxt(1).Text) <= 0 Or Val(CSTxt(1).Text) > 1 Then
MsgBox "请输入比值!", vbOKOnly + vbExclamation, "信息输入"
Exit Sub
End If……
end sub
Private Sub Command3_Click()
checkinput
……
连接数据库
……
rs.open……
rs.addnew
……
end sub
当我在文本框输入是空的时候,会提示要输入不能为空,但同时程序也跳了出来,如果我把这个判断的代码直接加在conmmand里,就不会跳出程序,大家看看这个问题该怎么解决,帮帮忙,因为很多事情要用到这个相同的输入判断,所以怎么能不重复编写代码,能使判断成功而且程序不跳出来呀。
比如:
我的判断过程的代码为:
Public Sub CheckInput()
If CSTxt(0).Text = "" Then
MsgBox "请输入城市名称!", vbOKOnly + vbExclamation, "信息输入"
Exit Sub
End IfIf CSTxt(1).Text = "" Or Val(CSTxt(1).Text) <= 0 Or Val(CSTxt(1).Text) > 1 Then
MsgBox "请输入比值!", vbOKOnly + vbExclamation, "信息输入"
Exit Sub
End If……
end sub
Private Sub Command3_Click()
checkinput
……
连接数据库
……
rs.open……
rs.addnew
……
end sub
当我在文本框输入是空的时候,会提示要输入不能为空,但同时程序也跳了出来,如果我把这个判断的代码直接加在conmmand里,就不会跳出程序,大家看看这个问题该怎么解决,帮帮忙,因为很多事情要用到这个相同的输入判断,所以怎么能不重复编写代码,能使判断成功而且程序不跳出来呀。
'程序也跳了出来.怎么理解,不指当机吗?
'还是本来在文本框的,但是文本框没有焦点了.
'如果是下一种情况,建议这样改:Public Sub CheckInput(byval Obj as object) '增加一个参数,是你当前的文本框
If CSTxt(0).Text = "" Then
MsgBox "请输入城市名称!", vbOKOnly + vbExclamation, "信息输入"
obj.SetFocus '增加
Exit Sub
End If If CSTxt(1).Text = "" Or Val(CSTxt(1).Text) <= 0 Or Val(CSTxt(1).Text) > 1 Then
MsgBox "请输入比值!", vbOKOnly + vbExclamation, "信息输入"
obj.SetFocus '增加
Exit Sub
End If ……
end sub
If CSTxt(0).Text = "" Then
MsgBox "请输入城市名称!", vbOKOnly + vbExclamation, "信息输入"
Exit Sub
End If
'...
CheckInput = True
end sub Private Sub Command3_Click()
If CheckInput Then
....
连接数据库
......
rs.open
rs.addnew
......
End Ifend sub
checkinput
……
连接数据库
……
rs.open……
rs.addnew
……
end sub