如何使用 VB6 在 MS-Access 数据库 Table 中搜索?

How to search inside a MS-Access Database Table using VB6?

我正在为一个学校项目使用 VB6,我想使用 Access 创建一个带有数据库的图书馆管理系统。 ADODC 和 DataGrid 工作正常,我可以添加新条目,也可以删除它们。但是,如果我想根据字段搜索特定项目怎么办。我似乎无法完成它。

你可以使用这个:

        With Datagrid
                varBookmark = .Bookmark
            If (.SelBookmarks.Count <> 0) Then
                .SelBookmarks.Remove 0
            End If
                Adodc1.Recordset.MoveFirst
                Adodc1.Recordset.Find "[Name of column you want to search] like '" & txtSearch.Text & "'"
            If Adodc1.Recordset.EOF Or Adodc1.Recordset.BOF Then
                MsgBox "No Student Found.", vbInformation, "Error"
                Adodc1.Recordset.Bookmark = varBookmark
            Else
                MsgBox "Student found Successfully", vbInformation, "Success"
                .SelBookmarks.Add Adodc1.Recordset.Bookmark
                Me.Hide
            End If
        End With

将顶部的数据网格名称更改为您正在使用的数据网格的名称以及 adodc。

打开您放置 DataGridADODataControlForm

工具箱上,双击文本框图标以将TextBox添加到表单。

在工具箱上,双击 标签图标 以将 Label 添加到表单。

双击TextBox打开代码编辑器window,在Text1_Change()事件中添加这段代码(假设这里你的ADODataControl被称为Adodc1 和需要搜索的Field 叫做Title) :

If Text1.Text > "" Then
    Adodc1.Recordset.Filter = "Title Like '*" & Replace(Text1.Text, "'", "''") & "*'"
Else
    Adodc1.Recordset.Filter = adFilterNone
    Adodc1.Recordset.Requery
End If

在同一代码编辑器 window 的顶部, 左侧 ,select 您的 ADODataControl,以及 右侧 select MoveComplete.

MoveComplete 事件中添加这段代码:

Label1.Caption = "Records: " & pRecordset.RecordCount

就是这样。 您的表单的外观和行为应如下图所示(如果不是这种情况,很抱歉,您没有在问题中提供足够的详细信息):

此示例是使用随 VB 提供的 Biblio.mdb 数据库构建的。