Я не уверен, является ли это лучшим способом выполнить то, что я пытаюсь выполнить, но в настоящее время я пытаюсь изменить активные фильтры в списке, используя несколько текстовых полей.
У меня есть одно основное окно поиска, которое фильтрует начальное поле списка, это также отфильтрует несколько других моих списков, которые также заполняют соответствующие данные.
Когда я заглядываю в другие свои списки (кроме основного), у меня есть данные, которые я хотел бы отфильтровать. Итак, я захожу в другое текстовое поле и ввожу все, что пытаюсь разобраться, когда я нажимаю вторую «кнопку поиска», здесь я получаю свою ошибку. Это синтаксическая ошибка, но я не до конца понимаю синтаксис, стоящий за ней.
Я бы хотел, чтобы мой первоначальный фильтр был сохранен в дополнение к моим новым критериям поиска.
Вот код моей начальной кнопки поиска (это работает)
Private Sub Command37_click()
Dim sql As String
Dim sql2 As String
sql = "SELECT People.LName, People.[Phone #], People.State " _
& "FROM People" _
& "WHERE SystemLocation LIKE '*" & Me.SearchTxt1 & "*' " _
& "ORDER by People.LName "
me.List35.RowSource = sql
me.list35.requery
sql2 = "SELECT Orders.Item, Orders.Price, Orders.Department " _
& "FROM People INNER JOIN Orders " _
& "ON People.SystemLocation = Orders.Department " _
& "WHERE Department LIKE '*" & Me.SearchTxt1 & "*' " _
& "ORDER by Orders.Department"
Me.List41.RowSource = sql2
Me.List41.Requery
Вот код, который я пытался использовать с дополнительным фильтром
Dim sql2 As String
sql2 = "SELECT Orders.Item, Orders.Price, Orders.Department " _
& "FROM People INNER JOIN Orders " _
& "ON People.SystemLocation = Orders.Department " _
& WHERE (People.SystemLocation LIKE '*" & Me.SearchTxt1 & "*') & (Orders.Item LIKE '*" & Me.SearchTxt2 & "*' " _
& "ORDER by Orders.Department"
Me.List41.RowSource = sql2
Me.List41.Requery
В идеале я бы хотел иметь возможность создавать "поисковую систему".