以下代码创建一个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
Run Code Online (Sandbox Code Playgroud)
产生语法错误的"sql"字符串的值是:
"INSERT INTO tblItems(desc,descExtended,itemNumber,currentPrice)VALUES('APPLE GRANNY SMITH SLI IQF','GEMS OF FRUIT',2050791,49)"
表和字段名称是正确的."desc"和"descExtended"字段的类型为Text."itemNumber"和"currentPrice"是Number.
这是你的字段名称.DESC在SQL中下降而不是描述.DESC是SQL语法中的保留字.您需要将其放入[]或更改它.(我推荐后者,如果它为时已晚,以免挽救未来的头痛.)避免使用保留字作为表或字段名称.
INSERT INTO tblItems ([desc], descExtended, itemNumber, currentPrice)
VALUES ('APPLE GRANNY SMITH SLI IQF', 'GEMS OF FRUIT', 2050791, 49)
Run Code Online (Sandbox Code Playgroud)
或更好
INSERT INTO tblItems (Descript, descExtended, itemNumber, currentPrice)
VALUES ('APPLE GRANNY SMITH SLI IQF', 'GEMS OF FRUIT', 2050791, 49)
Run Code Online (Sandbox Code Playgroud)