我有一个名为Product_Id
的字段(类型字符串),长度为7,从0开始。但是,当通过VBA插入文本类型的表字段时,零没有插入。
这是插入查询:
dbs.Execute "INSERT INTO tablename (PROD_NBR)VALUES (" & prodID & ");"
答案 0 :(得分:5)
我想我已经修复了错误 - 你需要用单引号声明这个值。
PROD_NBR
是一个字符串类型,表中的字段是文本类型,然后插入变量应该在单引号内声明,然后是双引号,在两个&之间。符号:
dbs.Execute "INSERT INTO tablename (PROD_NBR)VALUES ('" & prodID & "');"
答案 1 :(得分:0)
回应@ Cherry的答案,以下方法比参数化查询(即准备语句)更乏味。 prodID
可以安全地包含引号和其他特殊字符。
With dbs.OpenRecordset("tablename")
.AddNew
.Fields("PROD_NBR") = prodID
.Update
End With
关于"从0开始"你的问题的一部分,你想PROD_NBR总是7个字符,填充领先的0'?然后将prodID
替换为:
Right("0000000" & prodID, 7)