代码之家  ›  专栏  ›  技术社区  ›  cookiemonster

如何在access vba中使用like

  •  0
  • cookiemonster  · 技术社区  · 6 年前

    我想根据组合框中的值筛选表单。另外,我希望能够根据在组合框中输入的值筛选表单。例如,如果我在组合框中键入了部分内容,我希望窗体在guyname字段中显示包含组合框中types单词的所有记录。但我似乎做不到。

    Me.Filter = "[Guyname] ='" & Me.Combo21 & "'" & " AND [guyID] = '" & Me.Combo36 & "'"
    Me.FilterOn = True
    
    3 回复  |  直到 6 年前
        1
  •  3
  •   iDevlop    6 年前

    试试这个:

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

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

        2
  •  1
  •   Raymond    6 年前

    这也帮了我很大的忙,所以我想我会在这里面添加一些过滤器的代码,比如数字过滤器、日期过滤器和文本过滤器,所有这些都取决于使用单引号、双引号或来获得正确的过滤条件。

    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
  •  0
  •   ryguy72    6 年前

    在查询中:

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

    在窗体上筛选窗体?

    对控件的afterupdate事件进行编码:

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

    这些筛选器将返回文本位于 字段。

    推荐文章