我正在使用Access 2013 VBA。我想将总和数量从tblSoldMonthRecord更新为tbl_POPLan。
错误消息是"操作必须使用不可用的查询。"以下代码。
str = "UPDATE tbl_POPLan INNER JOIN " & _
"(SELECT Item, SUM(Qty) AS SumQty FROM tblSoldMonthRecord GROUP BY Item) AS A ON " & _
"tbl_POPLan.Item = A.Item " & _
"SET tbl_POPLan.M0 = A.SumQty "
DoCmd.RunSQL str
如果我从SQL中删除SUM,它就可以工作。
str = "UPDATE tbl_POPLan INNER JOIN " & _
"(SELECT Item, Qty AS SumQty FROM tblSoldMonthRecord) AS A ON " & _
"tbl_POPLan.Item = A.Item " & _
"SET tbl_POPLan.M0 = A.SumQty "
如何通过RunSQL将sum值更新为另一个表?
答案 0 :(得分:1)
如果查询在查询或任何子查询中包含任何聚合函数,则查询不可更新。作为一种解决方法,您可以尝试使用域函数而不是聚合 - 在您的情况下使用DSum或使用带有Sum
的子查询结果的临时表