【问题标题】:MS Access Query Calculate FieldMS Access 查询计算字段
【发布时间】:2017-04-28 19:43:29
【问题描述】:
  • 我有一张 StockMovements 表,它记录了我的所有动作 产品。它有一个名为“状态”的字段,它可以包含 value Sold or Purchased,数量和产品(还有一些,但 现在不重要了)。
  • 我查询了状态为“已购买”的所有产品 并获取数量并将其命名为已购买产品(来自 表 StockMovements)。我刚刚总结了数量并得到了 每个产品的购买数量(名为“已购买”字段)。
  • 我又进行了一次查询,只是状态为 Sold。
  • 在我使用名称 Stock 进行了新查询之后。它由桌子构成 产品和我上面提到的 2 个查询。它需要 prodict_ID 和产品表中的产品名称,购买的字段来自 第一个查询和第二个查询中的 Sold 字段,然后是 final 字段未连接到上述任何内容,而是计算。命名它 AvailableQuantity 并在接下来添加了表达式生成器 =[购买] - [出售]。
  • 现在,当我运行查询时,它工作正常,除了一件事。当我有 我没有卖给的特定数量的购买产品 任何人(甚至不是一件)都不想出现在查询中。
  • 我希望产品在查询中显示并且可用 数量是购买的数量。所以以某种方式跳过 Sold 价值 如果它是 0 并且只是将购买的数量写入该字段。

【问题讨论】:

    标签: mysql ms-access ms-query


    【解决方案1】:

    当您没有售出数量时,您的金额实际上变成了已购买的空值,这将导致没有答案。

    您应该通过使用 [Purchased] - (Nz([Sold],0)) 来允许空值,这将在计算中强制为零。

    【讨论】:

    • 感谢您的回复。我试过了,还是不想显示,但是计算还是不错的,所以我假设函数没问题。
    • 有没有办法在 product_ID 的标准中写下无论如何都显示它们?
    【解决方案2】:

    我进入 SQL 视图并将 INNER JOIN 更改为 RIGHT JOIN,它完成了工作。

    SELECT tblProduct.Product_ID, tblProduct.ProductName, Nz([Purchased],0) AS
    PurchasedQuantity, Nz([Sold],0) AS SoldQuantity, [PurchasedQuantity]-(Nz([SoldQuantity],0)) 
    AS [Available] FROM qrySoldProducts RIGHT JOIN (qryPurchasedProducts RIGHT JOIN 
    tblProduct ON qryPurchasedProducts.Product_ID = tblProduct.Product_ID) ON 
    qrySoldProducts.Product_ID = tblProduct.Product_ID;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多