5

以下代码创建一个 SQL 字符串,该字符串在 MS Access 中产生语法错误 (3134)。

        sql = "INSERT INTO tblItems (desc, descExtended, itemNumber, currentPrice) " & _
                     "VALUES (" & _
                     "'" & rs.Fields("Field6") & "', " & _
                     "'" & rs.Fields("Field7") & "', " & _
                     rs.Fields("Field1") & ", " & _
                     rs.Fields("Field8") & _
                     ")"
        db.Execute sql, dbFailOnError

产生语法错误的“sql”字符串的值为:

“插入 tblItems(desc、descExtended、itemNumber、currentPrice)值('APPLE GRANNY SMITH SLI IQF'、'GEMS OF FRUIT'、2050791、49)”

表名和字段名正确。“desc”和“descExtended”字段是文本类型。“itemNumber”和“currentPrice”是数字。

4

1 回答 1

5

这是您的字段名称。DESC 在 SQL 而不是描述中降序。DESC 是 SQL 语法中的保留字。您需要将其放入 [] 或更改它。(如果为时不晚,我会推荐后者以免将来头疼。)避免使用保留字作为表或字段名称。

INSERT INTO tblItems ([desc], descExtended, itemNumber, currentPrice) 
VALUES ('APPLE GRANNY SMITH SLI IQF', 'GEMS OF FRUIT', 2050791, 49)

或更好

INSERT INTO tblItems (Descript, descExtended, itemNumber, currentPrice) 
VALUES ('APPLE GRANNY SMITH SLI IQF', 'GEMS OF FRUIT', 2050791, 49)
于 2012-05-15T02:30:52.767 回答