VBA 将多值 Lisbox 中的值插入单独的 Table(运行-时间错误 3075)

VBA to Insert Values from Multi-Value Lisbox into Separate Table (Run-time error 3075)

这是我的第一个 post 希望能得到一些帮助。我做了很多研究,但无法确定我哪里出错了。我只是想遍历一个多值列表框并将值添加到单独的 table.

我有一些我认为应该有效的代码,但我一直收到 运行-Time error 3075 查询表达式“1b”中的语法错误(缺少运算符)。

这是我的情况:

我有一个 table: qaTbl

我在这个 table 中有两个字段。 interactionID 和缺陷(这是多值列表框)。两个字段都是短文本。

对于提交的每条记录,我想将 interactionID 和缺陷(无论是选择一个还是多个缺陷)放入一个名为 callDefectsTbl 的新 table 中。

callDefectsTbl中的两个字段是interactionID和defect。

我有一个带有提交按钮 (qaSubmit) 的表单。列表框的控件是 'defect'。

下面是与提交按钮的 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

我得到一个运行-time error 3075。它似乎在抓取defect的值时停止了。我研究过其他做同样事情的代码,但我不明白我做错了什么。

任何帮助和详尽的解释将不胜感激!!

谢谢!!

如果短文本更改 sql 带有单引号

strSQL = _ "INSERT INTO callDefectsTbl " & _ “(interactionID, defect) VALUES ('” & _ Me.interactionID & "', '" & .ItemData(varItem) & "')"