搜索框的消息框未返回任何结果,Access 2010

Message box for search box returning no results, Access 2010

我是 VBA 的新手,但我想为包含多个字段的拆分表单创建一个搜索框。我从宏开始,然后最终将其转换为 VBA,因此代码中实际上可能存在错误。

反正我是用了apply filter命令,我想在没有结果的时候弹出一个消息框,但是这段代码不起作用:

  Private Sub cmdSearch_Click()
        On Error GoTo cmdSearch_Click_Err
        DoCmd.ApplyFilter "", "[IDTag] Like
   ""*"" & [Forms]![Main Menu]![txtSearch] & 
     ""*"" Or [Title] Like ""*"" 
   & [Forms]![Main Menu]![txtSearch] & ""*""",""

cmdSearch_Click_Exit:
Exit Sub

cmdSearch_Click_Err:
MsgBox Error$
Resume cmdSearch_Click_Exit

End Sub

您可以通过问题中的语法着色判断您的字符串构造不起作用。使用单引号 ' 要容易得多。还有一些变量。

Private Sub cmdSearch_Click()

    On Error GoTo cmdSearch_Click_Err
    Dim sSearch As String, sFilter As String

    sSearch = "'*" & [Forms]![Main Menu]![txtSearch] & "*'"
    sFilter = "[IDTag] Like " & sSearch & " Or [Title] Like " & sSearch
    Debug.Print sFilter  ' Use Ctrl+G to see Debug output

    DoCmd.ApplyFilter "", sFilter

要在没有结果时显示 MsgBox,请参阅链接副本。