我编写了一个程序,可以添加,删除,保存和搜索数据库(记录集)中的记录。但是我在一个团队中这样做。我的任务是将搜索功能添加到我拥有的程序中;但是,当有人输入一个不在数据库/记录集中的单词/任何内容时,我遇到了添加错误消息的问题。
因此,例如在文本框(txtFindBox.Text)中,如果他们输入“ashbndash”,则会出现错误消息。我已经注释掉了我自己的错误信息框,但请告诉我出错的地方:(
以下是查找按钮的代码。
Private Sub cmdFindDB_Click()
adoCustomer.Recordset.MoveFirst
If optLastName.Value = True Then
adoCustomer.Recordset.Find "LastName='" & txtFindBox.Text & "'"
'Else
'MsgBox ("NO RECORD FOUND")
End If
If OptFirstName.Value = True Then
adoCustomer.Recordset.Find "FirstName='" & txtFindBox.Text & "'"
'Else
'MsgBox ("NO RECORD FOUND")
End If
End Sub
编辑:就像说问题是,每当我按下“找到”按钮时,它会在msgbox中找到“NO RECORD FOUND”消息,即使它找到答案,它也会出现msgbox如果你输入乱码。
感谢您的时间
关心Haroon
答案 0 :(得分:2)
以下是如何执行您要执行的操作的示例:METHOD: Recordset::Find
代码示例:
adoCustomer.Recordset.MoveFirst
adoCustomer.Recordset.Find "LastName='" & txtFindBox.Text & "'"
If (adoCustomer.Recordset.BOF = True) OR (adoCustomer.Recordset.EOF = True) Then
MsgBox "Record not found"
End If
您需要检查EOF和BOF,而不是检查Value属性是否为true。这些代表文件结束和文件开头。所以如果其中任何一个都是真的,那么你就不会在记录集里面,这意味着你没有找到任何东西。