簡體   English   中英

MS ACCESS - 如何通過多個 combobox 值過濾 splitform 的數據表

[英]MS ACCESS - How to filter a splitform's datasheet by a multiple combobox values

我有一個帶有一些 txtboxes 和 1 combobox 的拆分表單。 combobox 與同一表單的查詢(qryPurchase)相關,它顯示了 3 列查詢字段:

ID_purchase, Purchase_Type, Date_Purchase

在查詢中還有其他字段,如Purchase_ItemQuantity等,但只有 2 種 Purchase_Type 值,即賣和借。 不同的Purchase_Item可以像發票一樣具有相同的ID_purchaseDate_Purchase

combobox 列表示例:

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

當我從 combobox 的下拉菜單中選擇一行時,我希望它必須通過組合框的行值過濾下面的 splitform 的數據表,以便獲得與 ZA8284521647549D6ECBB00383A3C2 匹配的所有 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,但是當它應用第二個過濾器時,它會取消第一個過濾器,依此類推。

在這種情況下,我不知道如何向現有過濾器添加另一個過濾器..

幫助..

解決了..

問題是Date_Purchase日期格式..

為我的本地語言和日期格式 (dd/mm/yyyy) 安裝了 MS-ACCESS,但在 VBA 中,日期默認格式始終為 mm/dd/yyyy

所以我像這樣修改了Me.Form.Filter值:

Me.Form.Filter = "[ID_turnin_temploan] =" & Me.fltDocCombo.Column(0) _
& " AND [Posizione] = " & "'" & Me.fltDocCombo.Column(1) & "'" _
& " AND [Data_turnin_temploan] = " & "#" & Format(Me.fltDocCombo.Column(2), "mm/dd/yyyy") & "#"

現在它可以工作了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM