MS Access 2007 - 使用更新中的表加入选择查询

时间:2015-05-19 11:11:33

标签: ms-access

我正在尝试使用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;

但它不更新表,当我想执行语句时,我得到错误:

  

“操作必须使用可更新的查询”

如果有人可以帮我解决这个问题会很棒。

1 个答案:

答案 0 :(得分:0)

更新查询不适用于多种类型的其他查询,包括Group by,Totals,CrossTabs或具有左连接或右连接的查询(与内连接组合)。

根据您对Access和VBA的舒适度,有几种解决此问题的方法。

  1. 首先创建一个临时表。将查询结果写入临时表,然后使用临时表更新天花板表的结果。

  2. 使用VBA创建和存储不可更新查询的值,然后使用记录集,循环记录并更新天花板表中的值。