0

我编写了一个程序,可以添加、删除、保存和搜索数据库(记录集)中的记录。但是我是在一个团队中做的。我的任务是将搜索功能添加到我拥有的程序中;但是,当有人键入不在数据库/记录集中的单词/任何内容时,我在添加错误消息时遇到问题。

因此,例如在文本框(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在胡言乱语中。

谢谢你的时间

问候哈龙

4

1 回答 1

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 属性是否为真。这些代表文件结束和文件开始。因此,如果其中任何一个为真,那么您不在记录集“内部”,这意味着您没有找到任何东西。

于 2009-03-29T15:24:15.767 回答