【问题标题】:Me.Filter using String containing numerous valuesMe.Filter 使用包含大量值的字符串
【发布时间】:2014-06-10 14:22:43
【问题描述】:
Private Sub cbtn_canceled_Click()
Me.Filter = "([status_code] Like 'BQ' OR [status_code] Like 'RG')"
Me.FilterOn = True
End Sub

工作正常,但我需要返回大约 30 个可能性。我试过像这样喂一个 strFilter,

Dim strFilter As String
strFilter = "BQ,RQ,WS,WE"
Me.Filter = "([status_code] Like strFilter)"

我尝试了很多 strFilter 组合,但都没有运气。 OR 语句需要以某种方式进入其中。

想法?

【问题讨论】:

    标签: ms-access filter vba


    【解决方案1】:

    Like 与通配符一起使用,例如 '*' 表示任何字符序列。所以

    Me.Filter = "([status_code] Like 'BQ*' OR [status_code] Like 'RG*')"
    

    会找到以 BQ 或 RG 开头的任何项目。

    如果您正在寻找完全匹配,那么您可以使用 IN:

    Me.Filter = "([status_code] IN('BQ','RG')"
    

    所以

    strFilter = "'BQ','RQ','WS','WE'"
    

    你会使用

    Me.Filter = "([status_code] IN(" &  strFilter & ")"
    

    您需要连接 strFilter 使用与号 (&),否则它会寻找单词“strFilter”。

    【讨论】:

    • 剪切并粘贴到我的知识之书安迪。感谢您对我的解释比解决方案更重要。
    猜你喜欢
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 2022-10-14
    • 2020-04-28
    • 2015-02-24
    相关资源
    最近更新 更多