簡體   English   中英

MS Access查詢計算字段

[英]MS Access Query Calculate Field

  • 我得到了一個StockMovements表,該表記錄了我的產品的所有運動。 它有一個名為“狀態”(Status)的字段,該字段的值可以是“已售出”或“已購買”,“數量”和“產品”(數量不多,但現在不重要)。
  • 我進行了查詢,以獲取狀態為“已購買”的所有產品,並取其數量並將其命名為“已購買產品”(從表StockMovements中)。 我只求和了數量,就得到了每種產品的購買數量(稱為“已購買”字段)。
  • 我進行了另一個查詢,只是與“已售狀態”相同。
  • 之后,我使用名稱Stock進行了新查詢。 它由表Products和我上面提到的2個查詢構成。 它從表Product中獲取prodict_ID和產品名稱,從第一個查詢中獲取“購買”字段,從第二個查詢中獲取“售出”字段,然后獲取一個最終字段,該字段未與上述任何內容連接,而是進行計算。 將其命名為AvailableQuantity,然后在其旁邊添加表達式生成器= [Purchased]-[Sold]。
  • 現在,當我運行查詢時,它工作正常,除了一件事。 當我有一定數量的購買產品但還沒有賣給任何人時(甚至沒有一件),它都不想顯示在查詢中。
  • 我希望產品顯示在查詢中,並且可用數量是購買數量。 因此,以某種方式跳過“已售出”值(如果其值為0),而只是將“已購買”數量寫入該字段。

當您沒有賣出數量時,您的總和將有效地變成“購買為零”,這將導致沒有答案。

您應該使用[Purchased]-(Nz([Sold],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; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM