MS Access操作必须是可更新的查询错误

时间:2011-10-11 10:17:34

标签: ms-access

我有以下SQL UPDATE查询:

UPDATE Invoices
SET Price = (SELECT SUM(Price*ProductsAndServices.Amount) FROM InvoicesItems 
  LEFT JOIN ProductsAndServices ON ProductsAndServices.ProductsAndServicesID = InvoicesItems.ProductsAndServicesID 
WHERE Invoices.InvoicesID = InvoicesItems.InvoicesID)

我有以下TABLES |专栏(我只提供重要的专栏):

Invoices            | (InvoicesID, Price) 
InvoicesItems       | (InvoicesItemsID,InvoicesID,ProductsAndServicesID,Amount)
ProductsAndServices | (ProductsAndServicesID, Price)

我想创建一个查询,它将ProductsAndServices中的所有产品作为发票。将其乘以金额(此列表示此产品的金额),然后更新最终发票价格。

你能告诉我,怎么做?

  1. 如果我删除了“* ProductsAndServices.Amount”它说标题中的错误......“
  2. 当我离开此金额乘以时,会提示ProductsAndServices.Amount
  3. 的值

    非常感谢

1 个答案:

答案 0 :(得分:0)

您使用Price来标识字段,但是因为在2个表中有一个具有该名称的列,Access不知道您要使用哪个,所以您需要告诉它。

例如; SUM(ProductsAndServices.Price * ProductsAndServices.Amount)