MS Access:如何在过滤搜索(文本框)中过滤多个字段
MS Access: How can filter multiple fields in a filtered search (text box)
我今天卡在 VBA 上了,我不妨提出这个问题。
希望有人能帮助我,因为我迷路了。
具体是关于以下一行:
strFilter = "orderstatus Like '*" & _.
Orderstatus 是我正在搜索(过滤)的字段。
它工作正常,但我也想要其他一些字段!
strFilter = "orderstatus And ordersales Like '*" & _.
我试过了????我尝试了很多东西但没有任何效果
完整代码如下:
Private Sub txtFilter_AfterUpdate() Dim strFilter As String
If Len(Trim(Me.txtfilter.Value & vbNullString)) > 0 Then
strFilter = "orderstatus Like '*" & _
Replace(Me.txtfilter.Value, "'", "''") & _
"*'"
Me.Filter = strFilter
Me.FilterOn = True
Else
Me.FilterOn = False
End If
End Sub
请帮忙!!!!我已经被困了 4 天了 :S
如果您想在两个字段上使用通配符,则需要分别将条件应用于两个字段
像这样:
Private Sub txtFilter_AfterUpdate()
Dim strFilter As String
Dim strWildcard As String
If Len(Trim(Me.txtfilter.Value & vbNullString)) > 0 Then
strWildcard = " Like '*" & Replace(Me.txtfilter.Value, "'", "''") & "*'"
strFilter = "orderstatus" & strWildcard & " And ordersales" & strWildcard
Me.Filter = strFilter
Me.FilterOn = True
Else
Me.FilterOn = False
End If
End Sub
您必须分别添加要过滤的每个字段:
strFilter = "orderstatus LIKE '*xxx*' OR ordersales LIKE '*xxx*'"
如果您希望一个或另一个包含过滤字符串,请使用 OR,如果您希望它们都包含过滤字符串,请使用 AND。
谢谢大家! dbmitch 用正确的完整代码回答,只是我将 AND 设置为 OR,以便它搜索任一字段。谢谢!
私人订阅 txtFilter_AfterUpdate()
Dim strFilter As String
Dim strWildcard As String
If Len(Trim(Me.txtfilter.Value & vbNullString)) > 0 Then
strWildcard = " Like '*" & Replace(Me.txtfilter.Value, "'", "''") & "*'"
strFilter = "orderstatus" & strWildcard & " And ordersales" & strWildcard
Me.Filter = strFilter
Me.FilterOn = True
Else
Me.FilterOn = False
End If
结束子
我今天卡在 VBA 上了,我不妨提出这个问题。 希望有人能帮助我,因为我迷路了。 具体是关于以下一行:
strFilter = "orderstatus Like '*" & _.
Orderstatus 是我正在搜索(过滤)的字段。 它工作正常,但我也想要其他一些字段!
strFilter = "orderstatus And ordersales Like '*" & _.
我试过了????我尝试了很多东西但没有任何效果
完整代码如下:
Private Sub txtFilter_AfterUpdate() Dim strFilter As String
If Len(Trim(Me.txtfilter.Value & vbNullString)) > 0 Then
strFilter = "orderstatus Like '*" & _
Replace(Me.txtfilter.Value, "'", "''") & _
"*'"
Me.Filter = strFilter
Me.FilterOn = True
Else
Me.FilterOn = False
End If
End Sub
请帮忙!!!!我已经被困了 4 天了 :S
如果您想在两个字段上使用通配符,则需要分别将条件应用于两个字段
像这样:
Private Sub txtFilter_AfterUpdate()
Dim strFilter As String
Dim strWildcard As String
If Len(Trim(Me.txtfilter.Value & vbNullString)) > 0 Then
strWildcard = " Like '*" & Replace(Me.txtfilter.Value, "'", "''") & "*'"
strFilter = "orderstatus" & strWildcard & " And ordersales" & strWildcard
Me.Filter = strFilter
Me.FilterOn = True
Else
Me.FilterOn = False
End If
End Sub
您必须分别添加要过滤的每个字段:
strFilter = "orderstatus LIKE '*xxx*' OR ordersales LIKE '*xxx*'"
如果您希望一个或另一个包含过滤字符串,请使用 OR,如果您希望它们都包含过滤字符串,请使用 AND。
谢谢大家! dbmitch 用正确的完整代码回答,只是我将 AND 设置为 OR,以便它搜索任一字段。谢谢!
私人订阅 txtFilter_AfterUpdate()
Dim strFilter As String
Dim strWildcard As String
If Len(Trim(Me.txtfilter.Value & vbNullString)) > 0 Then
strWildcard = " Like '*" & Replace(Me.txtfilter.Value, "'", "''") & "*'"
strFilter = "orderstatus" & strWildcard & " And ordersales" & strWildcard
Me.Filter = strFilter
Me.FilterOn = True
Else
Me.FilterOn = False
End If
结束子