使用包含SUM()字段的子查询在MS-Access中编辑查询

时间:2010-01-20 13:16:31

标签: ms-access join subquery

当我在Access中打开此查询时(它只是2个链接表的集合),我可以编辑数据而不会出现任何问题。


SELECT O.*, PP.skuapexid
FROM tblSkuBestellingen AS O
INNER JOIN tblSkuApex AS PP
ON (PP.begindatum <= O.besteldatum) AND (PP.sku = O.sku)
WHERE NOT EXISTS
   (
      SELECT * FROM tblSkuApex PP2
      WHERE PP2.sku = PP.sku AND
      PP2.begindatum <= O.besteldatum AND
      PP2.begindatum > PP.begindatum
   );

然而,当我添加一个小字段向我展示交付产品的总数时,它突然不允许我再编辑它。有办法解决这个问题吗?


SELECT O.*, PP.skuapexid,
   (
        SELECT Sum(Nz(tblLeveringProduct.geleverd,0)) AS TotaalGeleverd
        FROM tblSkuBestellingen LEFT JOIN tblLeveringProduct ON tblSkuBestellingen.SkuBestelId=tblLeveringProduct.SkuBestelId
        WHERE  tblSkuBestellingen.sku = PP.sku
    ) AS TotaalGeleverd
FROM tblSkuBestellingen AS O
INNER JOIN tblSkuApex AS PP
ON (PP.begindatum <= O.besteldatum) AND (PP.sku = O.sku)
WHERE NOT EXISTS
   (
      SELECT * FROM tblSkuApex PP2
      WHERE PP2.sku = PP.sku AND
      PP2.begindatum <= O.besteldatum AND
      PP2.begindatum > PP.begindatum
   );

1 个答案:

答案 0 :(得分:1)

如果查询或任何已加入查询中的任何聚合(分组依据,总和,计数,...)您无法编辑数据。

您可以为表格中的每一行写一个函数。