VBA访问。插入错误

时间:2018-03-28 08:11:07

标签: ms-access access-vba ms-access-2010

我有一个名为listComponents1的列表框,我希望用户在此选择的项目填充在表tblMasterData的字段组件ID中。在我的表中,字段组件ID的类型为数字。我编写了代码,但是在Insert Into语句中出现语法错误时出错。有人可以帮忙解决这个问题吗?

For Each varItem In Me.listComponents1.ItemsSelected
    strSQL = "INSERT INTO tblMasterData" & _
                "(Components ID)" & _
                 "Values(" & Me.listComponents1.Column(0, varItem) & ")"
    CurrentDb.Execute strSQL, dbFailOnError
Next

1 个答案:

答案 0 :(得分:1)

字段Components ID有一个空格,因此包含在[]中。使用ItemData从列表项中读取值。

With Me.listComponents1
    For Each varItem In .ItemsSelected
        strSQL = "INSERT INTO tblMasterData" & _
                    "([Components ID])" & _
                     "Values(" & .ItemData(varItem) & ")"
        CurrentDb.Execute strSQL, dbFailOnError
    Next
End With

建议不要在命名约定中使用空格或标点符号/特殊字符(仅下划线异常)。