У меня есть несколько элементов управления (Combobox, я называю DDL), которые я использую в качестве фильтров для динамического запроса, как показано ниже.
У меня есть регион, фильтр разделения - и выпадающие списки BCI / BCV / ABC / etc.
Когда я выбираю регион и деление, окно списка вывода корректно отфильтровывает все, кромеЭТО регион / подразделения. Хорошо.
Проблема возникает, когда я использую другие DDL, ABD / BCI / и т.д. ... они не отфильтровываются правильно, и я думаю, что это с моими и /или пункты ниже.
Может ли кто-нибудь увидеть что-то вопиющее или указать мне правильное направление, чтобы получить это так, чтобы каждый элемент управления и элемент ddl отфильтровывали данные, для которых он предназначен, - при этом сохраняя их в формате, в котором сам SQL является частьюстрока, как в моем примере?
Private Sub goBtn_Click()
strSQL = "SELECT [account_number], [BCI_Amt], [BCV_Amt],[ABC_Amt], [other_Amt], " & _
"[BCI_Amt]+[BCV_Amt]+[ABC_Amt]+[other_MRC_Amt], Division_Name, Region_Name, " & _
"Tier, Unit_ID, Name, Description_2 " & _
"FROM dbo_ndw_bc_subs " & _
"WHERE DivisionDDL = [Division_Name] and RegionDDL = [Region_Name] " & _
" and ( [BCI_Ind] = CheckBCI.value or [BCV_Ind] = CheckBCV.value or [ABC_Ind] = CheckABC.value " & _
" or BCIServiceDDL = [Tier]" & _
" or BCVServiceDDL = [Description_2]" & _
" or ABCServiceDDL = [Unit_ID] )" & _
"ORDER BY 6 asc"
Me.output1.RowSource = strSQL
End Sub
Один из управляющих кодов DDL поля со списком.Есть флажки, которые делают поле со списком видимым или невидимым.
Private Sub CheckBCV_Click()
If Me.CheckBCV = vbTrue Then
Me.BCVServiceDDL.Visible = True
Me.BCVServiceDDL = "Select:"
strSQL = "SELECT Distinct subs.[Description_2] FROM dbo_ndw_bc_subs "
Me.BCVServiceDDL.RowSource = strSQL
Me.BCVServiceDDL.Requery
Else
Me.BCVServiceDDL.Visible = False
Me.BCVServiceDDL = ""
End If
End Sub
Редактировать: Добавлен дополнительный код в первый блок кода для контекста и обновлены некоторые комментарии.
Чтобы повторить пункт моего вопроса - Поскольку некоторые из работ DDL, как и ожидалось, а другие нет.Это в разделе И / ИЛИ, где у меня есть проблема - или я вынужден сделать оператор IF / IIF в выборе.(И если я сделаю это ЕСЛИ решение - как это будет включено в строку, как у меня сейчас, я не видел пример этого в своем исследовании резолюции).