access 使用Update更新记录时,提示"操作必须使用一个可更新的查询"

发布时间 2023-10-04 16:39:33作者: 一曲轻扬

原SQL:

UPDATE 刀具申购明细 SET 刀具申购明细.关闭 = -1
where 刀具申购明细.申购数量<=(SELECT  Sum(Round(Nz([入库数量],0)*1,2)) AS 入库合计
FROM 采购入库temp LEFT JOIN 刀具入库明细 ON 采购入库temp.申购ID = 刀具入库明细.采购ID
GROUP BY 采购入库temp.申购ID)

我本意是根据已入库的数量合计来决定是否关闭申购订单,结果提示"操作必须使用一个可更新的查询"

后面查了一下资料,大多数人都说是权限的问题,但是我知道,我这种不是,后来看到有人说用dsum来处理,尝试了一下,果然成功了

isql = "UPDATE 刀具申购明细 SET 刀具申购明细.关闭=(刀具申购明细.申购数量<=dsum('入库数量','刀具入库明细','采购ID=' & 刀具申购明细.RECORDID ))"
    CurrentDb.Execute isql