基于两个组合框选择的过滤器表单
Posted
技术标签:
【中文标题】基于两个组合框选择的过滤器表单【英文标题】: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
【问题讨论】:
每次您不将控件重命名为有意义的名称并在代码中使用默认名称(Combo19
、Check34
)时,一只小猫就会死去。 :(
【参考方案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 是否为空。我可以做到这一点。再次感谢。以上是关于基于两个组合框选择的过滤器表单的主要内容,如果未能解决你的问题,请参考以下文章