计算在多个货件上收到物料时收到的物品总数

时间:2013-07-15 15:34:57

标签: sql sum ms-access-2007 totals

我在Access 2007中有一组表,我需要显示收到的项目总数。我们使用作业号作为公共参考(如ID)对作业订购商品。

每项工作都需要多个项目。大多数商品都有我们收到的多件货。每件货物都有一个唯一的收货票号,因此需要单独输入并合计。

我有:

  • tblJobItems: JobNumber,Item,QtyNeeded
  • tblReceived: JobNumber,Item,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;

这会在列表框中显示订购的项目数量,以及JobNumber存储为([Tempvars]![JobNum])的数量,并且列表框仅显示与JubNumber匹配的记录。 (tempvar是全局的,所以如果它可以帮助任何人,它可以在查询中使用)

我并不反对通过两到三次查询来得到答案。

1 个答案:

答案 0 :(得分:1)

事实证明,我的查询SQL中需要的关键部分是:

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

这会对数量进行总结,并在查询中使用总计创建新列。