2016-12-13 132 views
0
  • 我收到了表格StockMovements,其中记录了我的 产品的所有移动。它有一个名为“状态”的字段,其可以具有 价值“已售出”或“已购买”,“数量”和“产品”(现在还不多,但现在并不重要)。
  • 我做了一个查询,以获取状态为“已购买”的所有产品 并取数量并将其命名为“已购买产品”(来自 表Stockmovements)。我只是对数量进行了总结,并获得了每种产品(名称为“已购买”字段)的购买数量 。
  • 我提出了另一个查询,所有相同的只是销售状态。
  • 我用名称Stock做了一个新的查询。它建立在表 产品和我上面提到的2个问题上。它需要prodict_ID 和表Product中的产品名称,从 购买的字段第一个查询和来自第二个查询的Sold字段,然后是 最终字段没有连接到上面的任何一个,而是一个计算。将其命名为 AvailableQuantity,然后添加表达式生成器 = [已购买] - [已售]。
  • 现在,当我运行查询它工作正常,除了一件事。当我有 特定数量的购买产品,我还没有卖给 任何人(甚至不是1件),它不想显示在查询中。
  • 我希望产品在查询中显示,并且可用的 数量是购买数量。所以不管怎样,如果它的值为0并且只是将购买数量写入该字段,则跳过销售价值 。

回答

0

如果您没有售出的数量,您的金额实际上变为购买空数量,这将导致无法回答。

您应该允许通过使用[购买] - (Nz([Sold],0))来计算零值。

+0

感谢您的答复。我试过了,但它仍然不想显示它,但是,计算仍然有效,所以我认为该功能正常。 –

+0

有没有一种方法可以在product_ID的条件中编写来向他们展示所有内容? –

0

我进入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;