我正在尝试使用select查询的结果更新第三个表 - 我知道如何在mysql上执行此操作,但访问会使疯狂:)
我有以下声明:
UPDATE ceilings LEFT JOIN
(SELECT ceiling_number AS cc, Count(type=3) AS st FROM ceiling INNER JOIN materials ON ceiling.material_number = materials.id GROUP BY ceiling.ceiling_number) AS q
ON q.cc=ceilings.ceilingid SET ceilings.stairs = q.st;
但它不更新表,当我想执行语句时,我得到错误:
“操作必须使用可更新的查询”
如果有人可以帮我解决这个问题会很棒。
答案 0 :(得分:0)
更新查询不适用于多种类型的其他查询,包括Group by,Totals,CrossTabs或具有左连接或右连接的查询(与内连接组合)。
根据您对Access和VBA的舒适度,有几种解决此问题的方法。
首先创建一个临时表。将查询结果写入临时表,然后使用临时表更新天花板表的结果。
使用VBA创建和存储不可更新查询的值,然后使用记录集,循环记录并更新天花板表中的值。