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

时间:2017-05-12 17:23:22

标签: database ms-access vb6 ado

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

2 个答案:

答案 0 :(得分:2)

打开放置FormDataGrid的{​​{1}}。

工具箱上,双击 TextBox图标,将ADODataControl添加到表单。

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

双击Label打开代码编辑器窗口,在TextBox内部添加这段代码(假设此处Text1_Change()称为 Adodc1 并且您需要搜索的ADODataControl称为标题):

Field

在同一代码编辑器窗口的顶部,在左侧,选择If Text1.Text > "" Then Adodc1.Recordset.Filter = "Title Like '*" & Replace(Text1.Text, "'", "''") & "*'" Else Adodc1.Recordset.Filter = adFilterNone Adodc1.Recordset.Requery End If ,然后在右侧选择{{1} }。

ADODataControl事件中添加这段代码:

MoveComplete

这就是全部。 您的表格外观和行为应如下图所示(如果情况并非如此,我很抱歉,但您未在问题中提供足够详细信息):

enter image description here

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

答案 1 :(得分:0)

您可以使用:

        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

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