Access - Как отобразить данные в подчиненной форме из нескольких списков
У меня есть форма, в которой у меня есть 3 различных списка, которые я хочу иметь возможность динамически фильтровать. ComboBox называются cboVendor
, cboRegion
, cboPosition
, Когда я фильтрую по ComboBox по отдельности, он работает нормально, но когда я пытаюсь фильтровать по Vendor, а затем по Region, а затем Position, подчиненная форма обновляет данные только в последнем выпадающем списке, который я выбрал, вместо того, чтобы ограничивать данные только ранее выбранным комбинированным списком.
Мне удалось заставить каждый комбинированный список динамически обновляться в зависимости от других блоков, я просто не могу получить подчиненную форму для отображения данных таким образом.
Ниже приведены отдельные сабвуферы, которые у меня есть для каждого выпадающего списка:
Private Sub cboVendor_AfterUpdate()
Dim myVendor As String
myVendor = "Select * from TblVendor where ([Vendor] = '" & Me.cboVendor & "')"
Me.tbl_Vendor_subform1.Form.RecordSource = myVendor
Me.tbl_Vendor_subform1.Form.Requery
Me.cboRegion = Null
Me.cboPosition = Null
Me.cboRegion.Requery
End Sub
Private Sub cboRegion_AfterUpdate()
Dim myRegion As String
myRegion = "Select * from TblVendor where ([Region] = '" & Me.cboRegion & "')"
Me.tbl_Vendor_subform1.Form.RecordSource = myRegion
Me.cboPosition = Null
Me.cboPosition.Requery
End Sub
Private Sub cboPosition_AfterUpdate()
Dim myPosition As String
myPosition = "Select * from TblVendor where ([Position] = '" & Me.cboPosition & "')"
Me.tbl_Vendor_subform1.Form.RecordSource = myPosition
End Sub
1 ответ
Попробуйте использовать эту команду.
strDataSource = "Select * from TblVendor where ([Vendor] = '" & Me.cboVendor & "' AND [Region] = '" & _
Me.cboRegion & "' AND [Position] ='" & Me.cboPosition & "')"
Me.tbl_Vendor_subform1.Form.RecordSource = strDataSource
Me.tbl_Vendor_subform1.Form.Requery