[英]How to search inside a MS-Access Database Table using VB6?
我正在將VB6用於學校項目,並且希望使用Access使用數據庫制作圖書館管理系統。 ADODC和DataGrid工作正常,我可以添加新條目,也可以刪除它們。 但是,如果我想根據字段搜索特定項目該怎么辦。 我似乎無法完成。
打開Form
,你放置你DataGrid
和你ADODataControl
。
在“ 工具箱”上 ,雙擊“ 文本框”圖標以將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名稱更改為您正在使用的數據網格的名稱以及adodc。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.