【发布时间】:2017-05-12 17:23:21
【问题描述】:
我在一个学校项目中使用 VB6,我想使用 Access 制作一个带有数据库的图书馆管理系统。 ADODC 和 DataGrid 工作正常,我也可以添加新条目并删除它们。但是,如果我想根据字段搜索特定项目怎么办。我似乎无法完成它。
【问题讨论】:
标签: database ms-access vb6 ado
我在一个学校项目中使用 VB6,我想使用 Access 制作一个带有数据库的图书馆管理系统。 ADODC 和 DataGrid 工作正常,我也可以添加新条目并删除它们。但是,如果我想根据字段搜索特定项目怎么办。我似乎无法完成它。
【问题讨论】:
标签: database ms-access vb6 ado
打开您放置DataGrid 和ADODataControl 的Form。
在工具箱上,双击文本框图标,将TextBox添加到表单中。
在工具箱上,双击标签图标,将Label 添加到表单中。
双击TextBox打开代码编辑器窗口,在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
在同一代码编辑器窗口顶部的左侧,选择您的ADODataControl,然后在右侧选择MoveComplete。
在MoveComplete 事件中添加这段代码:
Label1.Caption = "Records: " & pRecordset.RecordCount
就是这样。 您的表单应该如下图所示(如果不是这种情况,很抱歉,您的问题没有提供足够的细节):
本示例是使用 VB 提供的 Biblio.mdb 数据库构建的。
【讨论】:
你可以用这个:
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 名称更改为您正在使用的 datagrid 的名称以及 adodc。
【讨论】: