2013-07-15 88 views
0

我在Access 2007中有一組表格,我需要顯示收到的物品總數。我們使用作業編號作爲公共參考(如ID)來對作業訂購商品。計算在多件貨物上收到物品時收到的物品總數

每個工作都有多個項目需要。大部分物品都有我們收到的多件貨物。每批貨物都有唯一的收貨單編號,因此需要單獨輸入並彙總。

我有:

  • tblJobItems:jobnumber可以,項目,QtyNeeded
  • tblReceived:jobnumber可以,項目,QtyRecvd,RTNumber(RT =接收機票)
  • tblJobs:jobnumber可以, JobQty(還有更多,但與此問題無關)

(JobQty並不總是與物品的QtyNeeded相同。這項工作就像一臺計算機的某種模型,工作數量是該模型的數量。項目有時是1:1,像一個案件或電源,但可以是2:1或3:1,如有多個硬盤驅動器)。訂單,但我們想擴展它(或與其他查詢結合),以顯示同一行上每個作業編號收到的項目總數。最終我會用這個數字來改變狀態和其他功能。

SELECT tblJobItems.JobNumber, tblJobItems.Item, tblJobItems.QTYNeeded, tblJobItems.PartStatus, First(tblJobs.BDT) AS FirstOfBDT, First(DateAdd("ww",-2,[BDT])) AS DueBy 
FROM tblJobItems INNER JOIN tblJobs ON tblJobItems.JobNumber = tblJobs.JobNumber 
GROUP BY tblJobItems.JobNumber, tblJobItems.Item, tblJobItems.QTYNeeded, tblJobItems.PartStatus; 

這說明我在ListBox中的項目排序,有多少時,jobnumber可以存儲爲([Tempvars]![JobNum]),並列表框只顯示匹配JubNumber的記錄。 (tempvar是全球性的,所以它可以用於查詢,如果有幫助的人)

我不反對讓這個通過兩個或三個查詢來得到答案。

+0

我在查詢中使用IIf函數和SUM一起找到了解決方案。作爲獎勵,它在每行沒有值的行中放置一個0,因此它看起來不像缺少答案。 – RunningWithScissors

+0

我只是不知道我可以在同一個查詢中對一個計算進行計算......我雖然必須運行一個查詢,然後再運行另一個查詢。 – RunningWithScissors

+0

感謝HansUp,仍然在學習論壇......從未使用過這麼多年,只是發現它們可能會有多大用處。 – RunningWithScissors

回答

1

事實證明,我的查詢的SQL所需的關鍵部分是:

Sum(tblReceived.ReceivedQTY) AS SumOfReceivedQTY, IIf(IsNull([SumofReceivedQTY]),0,[SumofReceivedQTY]) AS RECQTY 

此總結了量,也創造了與總計查詢的新列。