簡體   English   中英

在多個字段上訪問VBA關鍵字搜索功能

[英]Access VBA Keyword Search Function on multiple fields

我目前有一個簡單的Access數據庫,其中包含供用戶根據查詢表填寫的表單。

我的目標是使用一個搜索框,該搜索框可以多次基於關鍵字過濾結果。 我現有的代碼非常適合在1個字段上進行一次搜索。 我希望能夠通過搜索另一個字段來深入查詢第一個搜索。 從組合框和搜索關鍵字中選擇字段后,將顯示我的結果。 一旦我從同一框中選擇另一個字段並進行搜索,結果將不包含我的第一個過濾器。

在表單上,​​我已經有一個組合框,其中包含所有可供選擇的字段的列表。 然后,旁邊是一個文本框,供用戶搜索所選的字段列表。 我有正確的VBA代碼可以搜索單個字段,但我想從那里向下鑽取。 基本上,我希望能夠搜索選定字段上的關鍵字,然后能夠通過再次使用相同的搜索框來進一步過濾那些結果。

示例:在表單上,​​從下拉列表中選擇“借款人”,然后在搜索框中鍵入“ Smith”,然后單擊搜索按鈕。 然后,我想從同一下拉列表中選擇另一個字段,例如“問題類別”,然后鍵入“后期付款”,然后單擊搜索按鈕。 因此,給我所有包含借款人史密斯的記錄,這些記錄中存在逾期付款的問題。

我已經花了好幾天的時間,終於分手來到這里。 我需要知道需要添加哪些代碼才能實現我的目標,即無需重置過濾器即可進行多次搜索。 希望您能提供幫助。 這是我的代碼(Text35是文本框,searchlist是字段名稱的組合框列表):

Private Sub Search_Click()
Dim strSearchValue As String
strSearchValue = Me.Text35.Value

Select Case Me.searchlist.Value

        Case "Date"
            Me.Filter = "[Date] = #" & strSearchValue & "# "

        Case "Account number"
            Me.Filter = "[Account number] = #' & strSearchValue & '# "

        Case "Borrower"
            Me.Filter = "[Borrower] LIKE '*" & (Replace(strSearchValue, "'", "''")) & "*'"

        Case "Issue Category"
            Me.Filter = "[Issue Category] LIKE '*" & (Replace(strSearchValue, "'", "''")) & "*'"


End Select

Me.FilterOn = True

End Sub

我認為您會使用OR關鍵字而不是&

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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