Я попал в беспорядок, следуя всевозможным полу-релевантным учебникам, пытаясь выяснить, как отправлять поля со списком, находящиеся в форме, в запрос.
Я использую этот запрос для создания подмножеств контактных данных, из которых можно создавать ярлыки для кампаний по созданию почтовых рассылок. Мне бы хотелось, чтобы комбинированные списки были либо нулевыми, либо использовались совместно, чтобы я мог фильтровать комбинации вариантов.
Я выполнил поиск в своих выпадающих списках, чтобы получить их значения, и нашел хороший учебник по работе с IS NULL, но я не понимаю, что VBA необходимо создавать командные кнопки «просмотреть результаты» и «очистить форму».
Это имена моих комбинированных списков, на которые ссылаются в критериях полей запроса:
[Forms]![SearchForm]![cboStatus]
[Forms]![SearchForm]![cboNewsletter]
Эти поля называются Status и Description соответственно.
Фильтруемый мной запрос называется
qryFilter
Это названия моих командных кнопок:
cmdResults
cmdClear
cmdResults должен отправлять каждое из значений поля со списком в запрос, независимо от того, являются ли они пустыми или выбранными, но я не могу заставить его работать, и ясно, что поля со списком должны быть нулевыми.
Я бы хотел расширить это, чтобы включить больше критериев, но сначала я хочу, чтобы оно работало!
Любая помощь приветствуется, спасибо заранее,
Rob
EDIT:
Пытался адаптировать этот код от Патрика:
Private Sub cmdResults_Click()
Dim tsSql As String
tsSql = "SELECT * FROM qryAll WHERE "
If cboNewsletter <> "" And Not IsNull(cboNewsletter) Then
tsSql = tsSql & "qryCorrespondence.NID = " & cboNewsletter & " "
If (cboStatus <> "" And Not IsNull(cboStatus)) Then
tsSql = tsSql & " AND "
End If
End If
If cboStatus <> "" And Not IsNull(cboStatus) Then
tsSql = tsSql & "tblCustomers.Status = " & cboStatus & " "
End If
Dim rs As New ADODB.Recordset
rs.Open tsSql, CurrentProject.AccessConnection, 3, 3
End Sub
Последняя строка дает мне ошибку, хотя она выделяет следующую строку в отладчике:
rs.open tsSql, CurrentProject.AccessConnection, 3, 3,
И говорит синтаксическая ошибка в предложении WHERE
Есть предложения?