操作必须使用可更新的查询错误访问

时间:2017-08-26 02:23:16

标签: sql ms-access

我有一个主表 tblBudget ,其中包含

等条目
ProjID Type Budget Active 
101     ROM   100      No 
101     PLE   110      No 
101     DLE   120     Yes 
102     ROM   200      No 
102     PLE   210     Yes 

每个月我都会获得一个excel,我将其导入并存储到临时表 tblMonthlyBudget 中,其中包含

等条目
ProjID Type Budget Active 
101     EAC    100    Yes
102     DLE    110    Yes 

我写了一个更新查询,尝试将 tblBudget 中的所有Active条目更新为No,以便可以插入最活跃的新记录。我的问题是

UPDATE tblBudget 
INNER JOIN tblMonthlyBudget 
        ON tblBudget.ProjectId = tblMonthlyBudget.ProjectID  
SET tblBudget.Active = false

但是我收到了错误

  

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

即使查询似乎在数据表和设计视图中正确显示。我只在执行查询时才得到它。我尝试搜索错误并尝试了各种组合而没有成功。欢迎任何替代方法。 我怀疑这是因为临时表包含多个记录。

1 个答案:

答案 0 :(得分:0)

我试图使用您提供的数据和表格结构来复制您的问题。但UPDATE正如我所期望的那样工作。如果tblMonthlyBudget中有重复的条目,它仍然可以工作 - 它只会更新过多次。请阅读mcve并使用实际产生错误的数据和表格结构更改您的问题。否则,我们几乎没有希望帮助你。