簡體   English   中英

如何使用VB6在MS-Access數據庫表中進行搜索?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM