0

我在 Access 2007 中有一组表,我需要这些表来显示收到的项目总数。我们使用作业编号作为通用参考(如 ID)根据作业订购物品。

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

我有:

  • tblJobItems : JobNumber, Item, QtyNeeded
  • tblReceived : JobNumber, Item, QtyRecvd, RTNumber (RT = Receiving Ticket)
  • tblJobs :JobNumber、JobQty (以及更多,但与此问题无关)

(JobQty 并不总是与 item 的 QtyNeeded 相同。job 就像运行某个型号的计算机,job qty 是该型号的多少。item 有时是 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 是全局的,因此如果对任何人有帮助,它可以在查询中使用)

我不反对通过两三个查询来获得答案。

4

1 回答 1

1

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

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

这将汇总数量,并在查询中创建一个包含总计的新列。

于 2013-08-08T15:23:03.743 回答