Это мой первый пост и надеется получить помощь. Я провел много исследований, но не могу определить, где я ошибаюсь. Я просто хочу перебрать многозначный список и добавить значения в отдельную таблицу.VBA для ввода значений из многозначного Lisbox в отдельную таблицу (ошибка времени выполнения 3075)
У меня есть код, который, как я думаю, должен работать, но я получаю ошибку времени выполнения 3075 Ошибка синтаксиса (отсутствующий оператор) в выражении запроса '1b'.
Вот моя ситуация:
У меня есть таблица: qaTbl
У меня есть два поля в этой таблице. interactiveID и дефект (это многозначный список). Оба поля являются shortText.
Для каждой представленной записи я хочу поместить идентификатор взаимодействия и дефект (независимо от того, выбран ли один дефект или много) в новую таблицу, называемую callDefectsTbl.
Два поля в callDefectsTbl - это идентификатор взаимодействия и дефект.
У меня есть форма с кнопкой отправки (qaSubmit). Элемент управления для списка - это «дефект».
Вот код привязан к Click() Событие кнопки отправки:
Private Sub qaSubmit_Click()
Dim db As DAO.Database
Dim strSQL As String
Dim varItem As Variant
Set db = CurrentDb
' Add each defect selected in the list box to callDefectsTbl
With Me.defect
For Each varItem In .ItemsSelected
strSQL = _
"INSERT INTO callDefectsTbl " & _
"(interactionID, defect) VALUES (" & _
Me.interactionID & ", " & .ItemData(varItem) & ")"
db.Execute strSQL
Next varItem
End With
DoCmd.GoToRecord , , acNewRec
End Sub
Я получаю ошибки времени выполнения 3075. Это, кажется, останавливается, когда захватывая значение дефекта. Я изучил другой код, который делает то же самое, но я не понимаю, что я делаю неправильно.
Любая помощь и подробное объяснение были бы очень признательны !!
Спасибо!
Спасибо! Это разрешает синтаксическую ошибку; Я ценю это. Однако теперь значения не заполняются в callDefectsTbl. Я ввел некоторые фиктивные записи в форме, и код работал без проблем, но не обновлял таблицу. Было два случая, когда они работали, но я не уверен, что произошло. Может быть, у меня есть некоторые свойства в списке неправильно? –
Просто добавьте msgbox strSQL, затем посмотрите, правильно ли sql. Я думаю, что Me.interactionID может быть пустым. Вы можете использовать Docmd.runsql вместо db.execute –