Несколько полей со списком, фильтрующих список (повторно посещали?)

Я пытаюсь отфильтровать список на основе нескольких полей со списком. Кажется довольно легким, не так ли? На самом деле, я нашел почти точный ответ на свою проблему, однако я не могу заставить его работать должным образом. (см.: Несколько полей со списком для фильтрации списка)

Использование кода (очевидно, модифицированного для моих целей) из приведенного выше решения, похоже, не хочет ничего специально отфильтровывать. Вместо этого он вообще не находит в запросе записей, соответствующих фильтрации.

У меня есть пять полей со списком, которые берут уникальные значения из запроса (qryCustomerWants) и заполняют каждое из пяти полей со списком на основе соответствующего столбца в запросе. Когда я щелкаю одно из полей со списком, поле списка обновляется и должно фильтровать результаты на основе критериев поиска, выбранных в полях со списком.

Private Sub RequerylstCustomers()
   Dim SQL As String
   SQL = "SELECT qryCustomerWants.ID, qryCustomerWants.Type, qryCustomerWants.Make, qryCustomerWants.Model, qryCustomerWants.YearWanted, qryCustomerWants.Condition " _
    & "FROM qryCustomerWants " _
    & "WHERE 1=1 "
    If cboType.Value & "" <> "" Then
        SQL = SQL & " AND qryCustomerWants.Type = '" & cboType.Value & "'"
    End If
    If cboMake.Value & "" <> "" Then
        SQL = SQL & " AND qryCustomerWants.Make = '" & cboMake.Value & "'"
    End If
    If cboModel.Value & "" <> "" Then
        SQL = SQL & " AND qryCustomerWants.Model = '" & cboModel.Value & "'"
    End If
    If cboYear.Value & "" <> "" Then
        SQL = SQL & " AND qryCustomerWants.Year = '" & cboYear.Value & "'"
    End If
    If cboCondition.Value & "" <> "" Then
        SQL = SQL & " AND qryCustomerWants.Condition = '" & cboCondition.Value & "'"
    End If
    SQL = SQL & " ORDER BY qryContactWants.Last"
    Me.lstCustomers.RowSource = SQL
    Me.lstCustomers.Requery
End Sub

Я вызываю функцию, используя:

Private Sub cboType_AfterUpdate()
    RequerylstCustomers
End Sub

В настоящее время каждый раз, когда я выбираю элемент из поля со списком (любого из них), он очищает весь список. Я знаю, что есть записи, соответствующие параметрам поиска, поэтому он должен фильтровать их до меньшего списка в каждом поле со списком, из которого я выбираю запись.

Где я это напутал? Спасибо!

Какие типы полей в таблице? Похоже, все они являются текстовыми полями? Каков исходный источник строк списка? Попробуйте использовать Debug.Print SQL в конце RequerylstCustomers и используйте распечатанный результат, чтобы запустить запрос, чтобы увидеть, что не так. Еще один: в выборе запроса есть YearWanted, но вы фильтруете по Year...

Unhandled Exception 09.04.2019 17:17

Вот вывод SQL из отладки: SELECT qryCustomerWants.ID, qryCustomerWants.Type, qryCustomerWants.Make, qryCustomerWants.Model, qryCustomerWants.YearWanted, qryCustomerWants.Condition FROM qryCustomerWants WHERE 1=1 AND qryCustomerWants.Type = 'Boat' ORDER BY qryContactWants.Last

BeardedSith 09.04.2019 17:42

Спасибо, что указали на опечатку, я еще не дошел до этой части, ха. Спасибо, в любом случае!

BeardedSith 09.04.2019 17:43

Когда вы создаете новый запрос с этим SQL, хорошо ли он работает?

Unhandled Exception 09.04.2019 17:45

МОЙ БОГ. Я такой неудачник. Фактическое имя запроса — qryContactwants, а не qryCustomerWants. Но теперь у меня другая проблема, и это строка Me.lstCustomers.RowSource = SQL - я не хочу, чтобы строка совпадала с результатами SQL, я хочу, чтобы она совпадала с именем клиента, как это было изначально. Когда я беру эту строку из подпрограммы, список не обновляется и перечисляет все имена, а не фильтрует их.

BeardedSith 09.04.2019 18:00

Извините, я не понимаю, что в таких коротких словах. Может быть, вам следует использовать другой вопрос/тему, чтобы описать, что вам нужно с образцом?

Unhandled Exception 09.04.2019 18:06
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
6
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я вижу прямо сейчас, что ваш Order By использует qryContactWants, а не qryCustomerWants.

Я думаю, это причина вашей проблемы.

Конечно, черт возьми. За исключением того, что возникает еще одна проблема (см. мой комментарий выше).

BeardedSith 09.04.2019 18:02

Другие вопросы по теме