Как мне отфильтровать несколько списков, используя более одного поля со списком в MS Access / VBA? - PullRequest
0 голосов
/ 11 июля 2019

Я надеялся получить помощь в форме MS Access, над которой я работаю.У меня есть четыре поля со списком, которые я хочу использовать для фильтрации двух списков.

Все оба списка должны обновляться после обновления каждого из четырех полей со списком.

Моя проблема в том, что я не получаю ожидаемых результатов.Данные в обоих списках не отображаются должным образом.

Код vba выглядит следующим образом:

Option Compare Database
Private Function SearchCriteria()

Dim strHHC, strCode, strFacility, strStaff, strProvider As String
Dim task, task1, strCriteria As String

If IsNull(Me.cboAudStaff) Then
    strStaff = "[Staff] like '*'"
    Me.lstMembers.Requery
Else
    strStaff = "[Staff] like '*" & Me.cboAudStaff.Value & "*'"
    Me.lstMembers.Requery
End If

If IsNull(Me.cboCode) Then
    strCode = "[Code] like '*'"
    Me.lstMembers.Requery
Else
    strCode = "[Code] like '*" & Me.cboCode.Value & "*'"
    Me.lstMembers.Requery
End If

If IsNull(Me.cboHHC) Then
    strHHC = "[HHC] like '*'"
    Me.lstMembers.Requery
Else
    strHHC = "[HHC] like '*" & Me.cboHHC.Value & "*'"
    Me.lstMembers.Requery
End If

If IsNull(Me.cboFacility) Then
    strFacility = "[Dx_ProvFacility] like '*'"
    Me.lstMembers.Requery
Else
   strFacility = "[Dx_ProvFacility] like '*" & Me.cboFacility.Value & "*'"
   Me.lstMembers.Requery
End If

If IsNull(Me.lstProviderList) Then
    strProvider = "[Dx_Provider]  like '*'"
    Me.lstMembers.Requery
Else
   strProvider = "[Dx_Provider] = '" & Me.lstProviderList.Value & "'"
   Me.lstMembers.Requery
End If

strCriteria = strStaff & "And" & strCode & "And" & strHHC & "And" & strFacility & "And" & strProvider
'task = "SELECT * FROM lstAssignedList where" & strCriteria
'Me.lstAssignedList_subform.Form.RecordSource = task
'Me.lstAssignedList_subform.Form.Requery


task = "SELECT * FROM vProvider_Stat_List where" & strCriteria
Me.lstProviderList.RowSource = task
Me.lstProviderList.Requery

End Function


Если возможно, пожалуйста, предоставьте помощь.

![Form example] 1

...