【发布时间】:2021-12-28 16:42:52
【问题描述】:
我有一些相关的表,我想在这些表上运行 Totals/Group By 查询。
我的“Tickets”表有一个名为“PickDate”的字段,它是订单/票的履行日期。
我想按工作日(姓名)(计算字段)进行分组,以便将一周中同一天的某些客户的结果分组。然后可以计算每个客户每个工作日的平均票务完成时间。如下所示。
--CustName---Day---AvTime
Customer 1 - MON - 72.3
- TUE - 84.2
- WED - 110.66
..etc
..etc
..etc
Customer 2 ..
这很好,但我遇到的问题是,当这个查询运行时,它适用于票表中的每条记录。出于某些原因,对于某些报告,查询所引用的数据应限制在一个日期范围内;例如跟踪数周内持续时间的变化。
在查询属性中,有一个属性,“过滤器”,我可以在其中添加一个字符串,例如:
"([qryCustomerDetails].[PickDate] Between #11/1/2021# And #11/14/2021#)"
过滤结果。唯一的问题是,由于每个日期都是唯一的,因此类似日期(例如“星期一”)的“分组依据”会被这个唯一日期“2021 年 11 月 1 日”覆盖。该查询仅在将 PickDate 作为字段删除时才有效。但是,我无法访问它来过滤它。
我想要实现的目标是一样的;在“Tickets”表本身过滤两个日期之间的结果,然后有一个可以在那个 filtered 表上运行的查询。
有什么方法可以实现吗?
这里是查询的 SQL 供参考。
FROM tblCustomers INNER JOIN tblTickets ON tblCustomers.CustomerID = tblTickets.CustomerID
GROUP BY tblCustomers.Customer, WeekdayName(Weekday([PickDate]),False,1), tblCustomers.Round, Weekday([PickDate])
ORDER BY tblCustomers.Round, Weekday([PickDate]);
【问题讨论】:
-
您发布的 SQL 没有 SELECT 或 WHERE 子句。我从未在查询中使用过 Filter 属性。刚试过,它什么也没做。我将过滤条件放在设计网格中的字段下,总行上的 WHERE 和未选中的显示。这行得通。可以引用表单上的控件来获取动态参数。或者构建一个报告并使用它的排序和分组功能和聚合计算。打开时应用过滤条件以报告。这允许显示详细数据以及汇总计算。
-
是的,我一定是复制/粘贴错误或格式错误