根据两个组合框选择过滤表单

时间:2018-05-15 16:22:37

标签: vba ms-access access-vba

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

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

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

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

End Sub

1 个答案:

答案 0 :(得分: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是否为空。