PARAMETERS [First Date] DateTime, [Second Date] DateTime, [Shift] Text ( 255 );
SELECT
Main.[Mth/day],
Main.Shift,
([Run Hrs]*[Actual Lbs/hr]) AS [Gross Production - LBS],
[Scrap Lbs 1]+[Scrap Lbs 2]+[Scrap Lbs 3] AS [Scrap Produced - LBS],
[Run Hrs]*[Actual Lbs/hr]-([Scrap Lbs 1]+[Scrap Lbs 2]+[Scrap Lbs 3]) AS [Net Production],
[Run Hrs]*[Actual Lbs/hr]*0.035 AS [Scrap Target],
[Run Hrs]*[Std lbs/hr]-([Run Hrs]*[Actual Lbs/hr])*0.035 AS [Target Net Production],
[Run Hrs]*[Std lbs/hr] AS [Target Gross Production],
(([Run Hrs]*[Std Lbs/hr])/([Run Hrs]*[Actual Lbs/hr]*0.035)) AS [Target Scrap Rate]
FROM Main
WHERE
(((Main.[Mth/day]) Between [First Date] And [Second Date]
And [Shift]=Main.Shift
And [Std lbs/hr]>0));
我还需要对每个计算字段求和,这样他们也可以检索每月摘要等。我可以在同一个查询中执行此操作,还是最好根据此结果进行另一个查询?
答案 0 :(得分:2)
从仅使用不使用SQL Aggregate Functions的字段和字段表达式的查询开始。然后保存该查询并将其用作另一个查询的数据源,在该查询中进行求和以及任何其他聚合函数。
在其他情况下,您可以从第一个查询中获取SQL,并将其用作另一个查询中的子查询。但是,由于名称所需的那些方括号,这个作为子查询会很麻烦。
将来,您可以通过选择不需要包围的对象名称来让自己更轻松。
答案 1 :(得分:2)
这实际上应该在前端或报表编写器中处理,而不是通过SQL。
在MS Access 2007中,以下内容应该有效:
应使用您的聚合将单元格添加到报表页脚。