如何根据MS Access

时间:2017-07-18 17:41:22

标签: ms-access

我有一个表格,上面有很多控件。我想创建自定义过滤器,允许用户使用任何字段值作为搜索条件搜索表单上的任何记录。 例如:用户可以使用id搜索记录,也可以使用等级等进行搜索

我现在已经使用了以下代码:

    Private Sub CmdFind_Click()
    Dim filterStr As String
    Dim strWhere As String

      filterStr = InputBox("Enter your filter criteria")
      strWhere = "[SalesOrderNumber] = '" & filterStr & "' "

      Me.Filter = strWhere
      Me.FilterOn = True

      End Sub

但是,这仅搜索“SalesOrderNumber”。我希望功能也可以使用其他值进行搜索。 任何帮助,将不胜感激。三江源

1 个答案:

答案 0 :(得分:1)

我可以理解。您想要搜索多个字段。

在这种情况下,您可以使用OR子句:

Private Sub CmdFind_Click()

    Dim filterStr As String
        filterStr = InputBox("Enter your filter criteria")

    Dim filters(0 To 2) As String
        filters(0) = BuildCriteria("SalesOrderNumber", dbText, filterStr)
        filters(1) = BuildCriteria("UserPhoneNumber", dbText, filterStr)
        filters(2) = BuildCriteria("Comments", dbText, filterStr)

    Me.Filter = Join(filters, " OR ")
    Me.FilterOn = True

End Sub