Ms access 一个访问问题:如何永久组合列上的删除筛选器

Ms access 一个访问问题:如何永久组合列上的删除筛选器,ms-access,Ms Access,我的Access 2010表单中有12个列,现在我想删除列上的所有筛选器,以便用户无法筛选记录。我希望用户只从组合框中筛选, 我该怎么做呢?你的问题有两个部分: 放弃或忽略任何现有筛选器 防止用户进行任何筛选 首先,您可以使用此选项忽略任何现有过滤器 Me.FilterOn = False 对于第二种情况,您可以将表单的Allow Filters属性设置为No 然后,您可以通过使用组合的after update事件来修改表单的记录源来完成筛选 Dim strSql As String strS

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

你的问题有两个部分:

  • 放弃或忽略任何现有筛选器
  • 防止用户进行任何筛选
  • 首先,您可以使用此选项忽略任何现有过滤器

    Me.FilterOn = False
    
    对于第二种情况,您可以将表单的Allow Filters属性设置为No

    然后,您可以通过使用组合的after update事件来修改表单的记录源来完成筛选

    Dim strSql As String
    strSql = "SELECT field1, field2, field3 FROM YourTable WHERE some_field = " & _
        Me.YourComboName
    Me.RecordSource = strSql
    
    重新分配记录源将自动强制重新查询

    如果您的ComboName的绑定值是数字,那么这将起作用。如果它是文本数据,则在构建strSql时必须用引号括住它的值

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

    你的问题有两个部分:

  • 放弃或忽略任何现有筛选器
  • 防止用户进行任何筛选
  • 首先,您可以使用此选项忽略任何现有过滤器

    Me.FilterOn = False
    
    对于第二种情况,您可以将表单的Allow Filters属性设置为No

    然后,您可以通过使用组合的after update事件来修改表单的记录源来完成筛选

    Dim strSql As String
    strSql = "SELECT field1, field2, field3 FROM YourTable WHERE some_field = " & _
        Me.YourComboName
    Me.RecordSource = strSql
    
    重新分配记录源将自动强制重新查询

    如果您的ComboName的绑定值是数字,那么这将起作用。如果它是文本数据,则在构建strSql时必须用引号括住它的值

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