【发布时间】:2020-10-31 12:14:09
【问题描述】:
我有一个带有一些 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
当我从组合框的下拉菜单中选择一行时,我希望它必须通过组合框的行值过滤下面的 splitform 数据表,以便获得与匹配的所有 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 最后一个, 但是当它应用第二个过滤器时,它会取消第一个过滤器,依此类推..
在这种情况下,我不知道如何向现有过滤器添加另一个过滤器..
帮助..
【问题讨论】:
标签: ms-access filter combobox multiple-value datasheet