我今天如此坚持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
答案 0 :(得分:1)
如果要在两个字段上使用通配符,则需要将条件分别应用于两个字段
这样的事情:
{{1}}
答案 1 :(得分:0)
您必须分别添加要过滤的每个字段:
strFilter = "orderstatus LIKE '*xxx*' OR ordersales LIKE '*xxx*'"
如果您希望其中一个包含过滤字符串,请使用OR;如果您希望它们都包含过滤字符串,请使用AND。
答案 2 :(得分:0)
谢谢大家! dbmitch回答了完整的代码更正,只有我将AND设置为OR,所以它搜索任一字段。谢谢!
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