Access 中 SQL 链接表上的 UPDATE 查询的“操作必须使用可更新查询”

Posted

技术标签:

【中文标题】Access 中 SQL 链接表上的 UPDATE 查询的“操作必须使用可更新查询”【英文标题】:"operation must use an updateable query" for UPDATE query on SQL linked table in Access 【发布时间】:2014-01-06 14:45:31 【问题描述】:

在我的 Access 数据库中,我有一个临时表 - msCurrentAnnualUpload 和一个链接到 SQL 服务器表 - msCurrent。

在我尝试运行更新查询后,我收到一个错误(“操作必须使用可更新查询”)。

查询文本如下:

UPDATE msCurrent 

INNER JOIN msCurrentAnnualUpload ON (msCurrent.ProductID = msCurrentAnnualUpload.ProductID) AND (msCurrent.CountryCodeID = msCurrentAnnualUpload.CountryCodeID) 

SET 
msCurrent.Y1977 = msCurrentAnnualUpload.Y1977, 
msCurrent.Y1978 = msCurrentAnnualUpload.Y1978, 
msCurrent.Y1979 = msCurrentAnnualUpload.Y1979, 
msCurrent.Y1980 = msCurrentAnnualUpload.Y1980

你能帮我找出问题吗?

【问题讨论】:

嗯,这很有趣,你能不能试试这篇文章:techonthenet.com/access/queries/update2.php 【参考方案1】:

我刚刚将您的查询复制并粘贴到 Access 2010 中,它工作正常。验证您是否可以通过在数据表视图中打开链接表并手动更改 [Y1977] 值之一来更新链接表中的值。如果您无法更新链接表,则需要确认

    您的 ODBC 连接实际上有权更新 SQL Server 上的表。

    您的 Access 链接表定义了一个主键。 (在设计视图中打开 Access 链接表并检查小金钥匙图标,如下面的屏幕截图所示。)

【讨论】:

以上是关于Access 中 SQL 链接表上的 UPDATE 查询的“操作必须使用可更新查询”的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 2016 在某个链接的 SQL Server 表上崩溃

从 Postgres 链接到 Access 2010 的表上的字段不会变成备忘录?

SQL Server 在链接的 MS Access 表上插入后返回不同的记录

使用模式匹配更新(MS Access)

SQL Join 在两个表上的 Codeigniter 中?

T-SQL & Access :: 生成未插入值的 LOG