Доброе утро,
Я помогаю разработать интерфейс через форму в MS Access. У нас есть список с различными пользовательскими значениями, и пользователь должен иметь возможность выбрать несколько значений в ListBox, а затем нажать кнопку, чтобы выполнить запрос, возвращая только те строки, имя автомобиля которых было выбрано.
ОБНОВЛЕНИЕ - благодаря некоторым отличным отзывам на этом форуме, основная проблема была решена. Моя второстепенная проблема в настоящее время не в состоянии выполнить запрос. Когда я пытаюсь получить сообщение об ошибке, запрос не может быть выполнен.
Мой код (как процедура события) для кнопки:
Option Explicit
Private Sub btnSearchCars_Click()
MsgBox "Starting Sub"
Call QueryCars.myQuery
MsgBox "Ending Sub"
End Sub
Тогда мой модуль QueryCars выглядит так:
Sub myQuery()
Dim strWhere As String
Dim strSQL As String
Dim varItem As Variant
For Each varItem in Forms!FormSelect!listCarID.SelectedItems
strWhere = strWhere & "'" & Forms!FormSelect!listCarID.ItemData(varItem) & "',"
Next
strWhere = Слева (strWhere, Len (strWhere) -1)
strSQL = "SELECT tblBig.* FROM tblCars INNER JOIN tblBig ON tblCars.Car_ID = tblBig.Car_ID WHERE tblCars.Car_ID IN (" & strWhere & ");"
DoCmd.RunSQL strSQL
End Sub
Моя ошибка - это ошибка "RunSQL требует аргумент оператора SQL" в строке.
DoCmd.RunSQL strSQL
Я был бы очень признателен, если бы кто-то мог помочь. Все, что я пытаюсь сделать, это взять значения из списка, выбранного пользователем, и использовать их в качестве критерия WHERE в моем запросе. Я искал различные форумы SO и Access все утро и не нашел ничего, что могло бы помочь.
Спасибо. Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы.