【问题标题】:Filter form based on two combo box selections基于两个组合框选择的过滤器表单
【发布时间】:2018-05-15 16:22:36
【问题描述】:

我的表单上有这两个组合框。每一个都独立过滤表格。但我想根据这两个选择过滤表单。

我在更新事件后将这段代码添加到复选框中,以使用两个组合框过滤表单,但它不起作用:

combo19 是第一个组合框的名称,combo21 是第二个组合框的名称。

Private Sub Check34_AfterUpdate()
 Me.Filter = Me.Combo19 & Me.Combo21
 Me.FilterOn = True
 Me.Refresh

End Sub

【问题讨论】:

  • 每次您不将控件重命名为有意义的名称并在代码中使用默认名称(Combo19Check34)时,一只小猫就会死去。 :(

标签: ms-access vba


【解决方案1】:

Filter 属性是一个字符串表达式,由不带 WHERE 关键字的 WHERE 子句组成。例如,以下 Visual Basic 代码定义并应用过滤器以仅显示来自美国的客户:

Me.Filter = "Country = 'USA'" 
Me.FilterOn = True

https://msdn.microsoft.com/en-us/vba/access-vba/articles/form-filter-property-access

在你的情况下,它看起来像:

Me.Filter = "field1 = '" & Me.Combo19 & "'" & " AND field2 = '" & Me.Combo21 & "'"  

Field1 和 Field2 应替换为记录源中的实际列名。
此外,您的代码不会检查 Combo19 或 Combo21 是否为空。

【讨论】:

  • 非常感谢。并感谢您提醒我检查 combo19 和 21 是否为空。我可以做到这一点。再次感谢。
猜你喜欢
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 2018-07-27
相关资源
最近更新 更多