代码之家  ›  专栏  ›  技术社区  ›  Harry

如何获取一个值,该值指示记录集。查找是否找到任何内容?

  •  0
  • Harry  · 技术社区  · 16 年前

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

    例如,在文本框(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中显示“没有找到记录”的消息,即使它找到了答案,如果你输入的也是乱码,它也会显示msgbox。

    谢谢你抽出时间

    问候Haroon

    1 回复  |  直到 13 年前
        1
  •  2
  •   Jim Counts    16 年前

    下面是一个示例,说明如何执行您尝试执行的操作: 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。这些代表文件结束和文件开始。因此,如果两者都是正确的,那么您就不在记录集中,也就是说您没有找到任何东西。