我有一个带有一些 txtboxes 和 1 个组合框的 splitform。组合框与同一表单的查询 (qryPurchase) 相关,它显示 3 列查询字段:
ID_purchase, Purchase_Type, Date_Purchase
在查询中还有其他字段,如Purchase_Item
,Quantity
等等,但只有 2 种 Purchase_Type 值,卖和借。不同Purchase_Item
的可以有相同的ID_purchase
和Date_Purchase
类似的发票。
组合框列表示例:
ID_purchase, Purchase_Type, Date_Purchase
1, sell, 08/01/2020
1, sell, 09/01/2020
1, borrow, 09/01/2020
2, sell, 10/01/2020
2, borrow, 11/01/2020
当我从组合框的下拉菜单中选择一行时,我希望它必须通过组合框的行值过滤下面的拆分表单的数据表,以便获得与组合框行匹配的所有 ID_purchase 和 Purchase_Type 和 Date_Purchase 的数据表过滤列表价值观。
就像上面的列表一样,如果我选择第一行,下面的数据表会显示 2 条记录。
我试图实现这样的目标:
Private Sub fltDocCombo_AfterUpdate()
Me.Form.Filter = "[ID_purchase] =" & Me.fltDocCombo.Column(0) _
& " AND [Purchase_Type] = " & "'" & Me.fltDocCombo.Column(1) & "'" _
& " AND [Date_Purchase] = " & "#" & Me.fltDocCombo.Column(2) & "#"
Me.Form.FilterOn = True
End Sub
Private Sub Form_Close()
Me.Form.Filter = ""
Me.Form.FilterOn = False
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.Form.Filter = ""
Me.Form.FilterOn = False
End Sub
这有时有效,有时无效,似乎该Me.Form.Filter
值被锁定在列表的第一个 ID_purchase 上。
就像上面的例子:
ID_purchase, Purchase_Type, Date_Purchase
1, sell, 08/01/2020
1, sell, 09/01/2020
1, borrow, 09/01/2020
2, sell, 10/01/2020
2, borrow, 11/01/2020
如果我尝试选择第二行,则应用的过滤器是第一行值..但不是每次..
有时似乎过滤器Date_Purchase
没有过滤任何东西..
我想像 ID_purchase 一样依次应用过滤器,第二个是 Purchase_Type,最后一个是 Date,但是当它应用第二个过滤器时,它会取消第一个过滤器,依此类推。
在这种情况下,我不知道如何向现有过滤器添加另一个过滤器..
帮助..