我正在尝试使用以下代码更新table1的字段,但是我收到以下错误消息:3073操作必须使用可更新的查询。
UPDATE table1 a
INNER JOIN (SELECT COUNT(somevalue) AS Total,ID
FROM ReadsPNPA GROUP BY ID) b
ON a.ID=b.ID
SET a.Total = b.Total
有什么想法吗? subselect查询可以自行运行。
答案 0 :(得分:3)
使用DCount
表达式代替子查询来执行UPDATE
...
UPDATE table1 a
SET a.Total = DCount('somevalue', 'ReadsPNPA', '[ID]=' & a.ID);
访问UPDATE
查询非常繁琐。子查询或GROUP BY
等技术会导致Access将查询视为“不可更新”。有关详细信息,请参阅Why is my query read-only?。
您可以使用域聚合函数(例如DCount
,DSum
,DAvg
等),以便Access将查询视为可更新。