【问题标题】:How to use like in Access VBA如何在 Access VBA 中使用 like
【发布时间】:2018-06-14 14:56:25
【问题描述】:

我想根据组合框中的值过滤表单。此外,我希望能够根据组合框中输入的值过滤表单。就像我在组合框中部分输入内容一样,我希望表单在包含组合框中类型词的 guyname 字段中显示所有记录。但我似乎无法让它发挥作用。

Me.Filter = "[Guyname] ='" & Me.Combo21 & "'" & " AND [guyID] = '" & Me.Combo36 & "'"
Me.FilterOn = True

【问题讨论】:

  • 看起来您并没有尝试在示例中使用 LIKE 。你试过了吗?

标签: vba ms-access


【解决方案1】:

试试这个:

DoCmd.ApplyFilter , "guyName like '" & me.combo21 & "*'"

你明白了……
不要忘记奇怪的逗号。提供条件字符串是第二个参数。

【讨论】:

  • 谢谢您,先生,我用您的想法修改了我的代码,并且成功了。再次感谢
【解决方案2】:

这对我也有很大帮助,所以我想我会在其中添加 Filters re Numeric 、 Date 和 Text 过滤器的代码,所有这些过滤器都依赖于使用单引号、双引号或 # 来获得正确的过滤器标准。

Numeric Field Filter Setting
strFilter = "[DebitAccount] = " & Me.[Cbo-dbLedgerAcc]
***
Date Range Filter Setting
strsearchEntryDate = Format(CDate(Me.[Txt-EntryDate]), "mm/dd/yyyy")
     strFilter = "[DebitEntryDate] = #" & strsearchEntryDate & "# "
     strFilter = strFilter & "Or " & "[CreditEntryDate] =  #" & strsearchEntryDate & "# "
Text Filter Setting 
Dim Searchstring as string
SearchString = Me.[txt-DetString]    
Option 1 Complete Text Match 
   strFilter = "MatchDescription = '" & Me.[txt-DetString] & "'"
Option 2 Word / Text Match  
    strFilter = "[MatchDescription] Like '*" & SearchString & "*'"
***
Me.Filter = strFilter
Me.FilterOn = True
'** Helpful to also Order Filter Results
Me.OrderBy = "MatchDescription Desc"
Me.OrderByOn = True

【讨论】:

    【解决方案3】:

    在查询中:

    Where [LastName] Like "*" & forms!FormName!ControlName & "*"
    The form must be open when the query is run.
    

    在表单上过滤表单?

    对控件的更新后事件进行编码:

    Me.Filter = "[LastName] Like '*" & [ControlName] & "*'"
    Me.FilterOn = True
    

    这些过滤器将返回包含文本任意位置的记录 字段。

    【讨论】:

      猜你喜欢
      • 2011-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      • 2015-08-23
      • 2016-12-18
      • 2013-10-29
      相关资源
      最近更新 更多