我正在将VB6用于学校项目,我想使用Access创建一个包含数据库的图书馆管理系统。 ADODC和DataGrid工作正常,我可以添加新条目并删除它们。但是,如果我想根据字段搜索特定项目,该怎么办?我似乎无法完成它。
答案 0 :(得分:2)
打开放置Form
和DataGrid
的{{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
这就是全部。 您的表格外观和行为应如下图所示(如果情况并非如此,我很抱歉,但您未在问题中提供足够详细信息):
此示例是使用随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。