MS Access中的“操作必须使用可更新的查询”错误

时间:2019-07-17 16:02:36

标签: sql sql-server access-vba

这个问题已经问了很多遍了,我的案子似乎很简单,但我仍然没有找到问题的答案...

环境是Windows,Access 2013。 表tbl_rap已链接,位于MS SQL Server 2007中

表tbl_rap的构造如下:

id - int (Identity)
field_1 nchar(10)
field_2 nchar(1)

以下代码有效

sql_cmd = "INSERT INTO tbl_rap (field_1,field_2) VALUES ('010308HB3','R')"
DoCmd.RunSQL sql_cmd

但是此代码

sql_cmd = "UPDATE tbl_rap SET field_2 = 'X' WHERE field_1 = '010308HB3'"
DoCmd.RunSQL sql_cmd

发生运行时错误3037“操作必须使用可更新的查询”失败

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用nchar(10)时,必须传递10个字符的字符串,例如:

sql_cmd = "UPDATE tbl_rap SET field_2 = 'X' WHERE field_1 = '010308HB3 '"