Ms access MS Access:如何在过滤搜索中过滤多个字段(文本框)
我今天太沉迷于VBA了,我不妨提出这个问题。 希望有人能帮助我,因为我迷路了。 具体来说是关于以下几行:Ms access MS Access:如何在过滤搜索中过滤多个字段(文本框),ms-access,search,filter,field,Ms Access,Search,Filter,Field,我今天太沉迷于VBA了,我不妨提出这个问题。 希望有人能帮助我,因为我迷路了。 具体来说是关于以下几行: strFilter = "orderstatus Like '*" & _. Orderstatus是im搜索的字段(向下筛选)。 它的作品很好,但我想在那里的一些其他领域以及 strFilter = "orderstatus And ordersales Like '*" & _. 我试过了????我尝试了很多东西,但都不管用 以下是完整的代码: Private Sub
strFilter = "orderstatus Like '*" & _.
Orderstatus是im搜索的字段(向下筛选)。
它的作品很好,但我想在那里的一些其他领域以及
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*'"
如果希望其中一个包含筛选字符串,请使用或,如果希望两个都包含筛选字符串,请使用和。谢谢大家!Dbitch回答了一个完整的正确代码,只是我将AND设置为左右,它搜索任意一个字段。谢谢大家! 私有子txtFilter_AfterUpdate()
末端接头您的strFilter套件在哪里?问题是什么-语法错误或筛选器不工作?看起来您没有使用orderstatus字段,您的示例显示您需要ordersales字段。但我们不确定您要过滤的内容以及字段类型。这两个字段都要通配符吗?很好。它把结果还给了我。问题是我在表单中搜索一个字段。(如1列)在本例中,我在orderstatus字段中搜索,但我想添加另一个字段:S为什么Access总是充满问题和复杂因素?Access没有问题。它就像任何新的应用程序一样——你需要花时间学习语言——或者在本例中,学习两种语言VBA和SQL。您将从何处获取第二个字段的筛选值?听起来你需要多个过滤文本字段和一个单独的“应用过滤”按钮来收集和连接你的过滤字段。我知道。我现在很忙,总有一天会到的。谢谢你的回复!。无论如何,我想从同一个字段中得到的值。哪个是搜索字段(文本框)对吗?我在txtFilter中键入要搜索的值,然后在“orderstatus”和“ordersales”字段中查找,并返回包含我要查找的值的任何内容。所以,是的,它应该适用于两个领域谢谢你们!我试试看:)非常感谢你们!我试试看:)我试过了。谢谢你的迅速回复。但它似乎不起作用。现在,当我在字段中输入某个内容时,按enter键,它实际上什么都不做。在vba页面的顶部,我还有一个选项:Compare Database Option Explicit,我想它不会有任何影响?txtFilter中的值是多少?是否应将其应用于这两个字段?
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