У меня есть сплит-форма с некоторыми текстовыми полями и одним комбинированным списком. Поле со списком связано с запросом той же формы (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 first, Purchase_Type второй и Date последний, но когда он применяет второй фильтр, он отменяет первый и так далее ..
В этом случае я не знаю, как добавить еще один фильтр к существующему один ..
справка ..