访问问题:如何永久地在列上组合删除过滤器

时间:2011-05-23 15:21:02

标签: ms-access

我的Access 2010表单中有12个colomns,现在我想删除列上的所有过滤器,以便用户无法过滤记录。我希望用户只从组合框中过滤, 我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

似乎有两个我的问题有两个部分:

  1. 放弃或忽略任何现有过滤器
  2. 阻止用户进行任何过滤
  3. 对于第一个,您可以使用它来忽略任何现有的过滤器。

    Me.FilterOn = False
    

    对于第二个,您可以将表单的“允许过滤器”属性设置为“否”。

    然后,您可以使用更新后的组合更新事件来修改表单的记录源。

    Dim strSql As String
    strSql = "SELECT field1, field2, field3 FROM YourTable WHERE some_field = " & _
        Me.YourComboName
    Me.RecordSource = strSql
    

    重新分配RecordSource会自动强制重新查询。

    如果YourComboName的绑定值是数字,那将会有效。如果是文本数据,则在构建strSql时必须用引号括起其值。

    strSql = "SELECT field1, field2, field3 FROM YourTable WHERE some_field = """ & _
        Me.YourComboName & """"