我目前有一个简单的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
答案 0 :(得分:-1)
我认为您可以使用OR关键字代替&