我的 Access 2010 表单中有 12 个列,现在我想删除列上的所有筛选器,以便用户无法筛选记录。 我希望用户只从组合框中过滤,我该怎么做?
似乎有两个我,你的问题有两个部分:
- 丢弃或忽略任何现有筛选器
- 阻止用户进行任何筛选
首先,您可以使用它来忽略任何现有筛选器。
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 & """"