VB on error goto如何使用

2025-02-23 12:16:16
推荐回答(2个)
回答1:

你应该加个判断,nm是否为空,如果没有选中任何单选按钮,则nm为空,nm若为空,则不执行查询。
另外你说的点击单选按钮就实现查询,你可以这么做,首先在窗体上添加一个CheckBox,将其index属性设为0,即生成控件数组,这样你动态添加的CheckBox根据名称可形成数组。然后双击CheckBox1(0),就可以写点击事件了,可以得到所有的CheckBox的Caption(这里你要明白的,虽然是动态加载的CheckBox,由于与CheckBox1一起形成了控件数组,所有点击事件对所有CheckBox有效,这点你要理解)

回答2:

要尽量避免使用On Error GoTo这样的语句,因为这破坏了程序的结构性,除非在程序错误无法避免,非这么做不可的情况下才用。而你现在的情况很显然错误是很容易避免的:
Private Sub Command14_Click()
nm = check()
if nm = "" then
MsgBox "请选择"
else
Set db = OpenDatabase(App.path & "\aa.mdb")
Set rs = db.OpenRecordset(" select * from 人员信息 where 姓名= '" & nm & "' ")
'......这里是其他后续程序,比如显示出查询到的信息
end if
End Sub

另外如果你想在单选框选中的时候就查询并显示信息也很容易办到的:
Private Sub Option1_Click(Index As Integer)
nm = Option1(Index).Caption
Set db = OpenDatabase(App.Path & "\aa.mdb")
Set rs = db.OpenRecordset(" select * from 人员信息 where 姓名= '" & nm & "' ")
'......这里是其他后续程序,比如显示出查询到的信息
End Sub
这就比用按钮更简单了,因为不用判断是否没有选中单选框的问题了(因为既然Click了,那么就肯定有个单选框被选中了)。