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



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

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

  1. 丢弃或忽略任何现有筛选器
  2. 阻止用户进行任何筛选

首先,您可以使用它来忽略任何现有筛选器。

Me.FilterOn = False

对于第二个,可以将窗体的"允许筛选器"属性设置为"否"。

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

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

分配记录源将自动强制重新查询。

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

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

最新更新