访问XP报告总和计算

时间:2012-06-27 10:43:02

标签: sql ms-access database-design

我正在添加一个用于处理各种服务的呼叫中心内的反馈数据库。

需要添加的部分内容是一份报告,显示特定CSO(客户服务人员)所执行的每项服务的总条目。当输入信息时,它通过一个包含2个下拉列表的表单 - 一个用于CSO名称,一个用于服务,该条目将与之相关。

我希望能够通过查询运行报告,其中将输入CSO名称和服务以及日期,输出将是包含每项服务的总计的报告(不仅仅是一个人已经收到了CSO收到的反馈意见。

我希望这是有道理的,我相信有一个非常简单的解决方案或公式!

我试图将其纳入我已经在其查询中使用以下SQL代码的报告中:

SELECT [Query Main].[Entry No], [Query Main].[Log Entry Date], [Query Main].[Log Entry Time], [Query Main].[Daily Feedback].[CSO Name], [Query Main].[CSO Team], [Query Main].[Reference Number(s)], [Query Main].Address, [Query Main].[Feedback Comments], [Query Main].[Customer?], [Query Main].[Back Office?], [Query Main].Specify, [Query Main].[Feedback done by], [Query Main].[Feedback date], [Query Main].[CSO Comments], [Query Main].Agents.[CSO Name], [Query Main].Service, [Query Main].[Date of Error], [Query Main].[Entered By], [Query Main].[Is this CSO Feedback?]  
FROM [Query Main]  
WHERE ((([Query Main].Service)=[Enter Service Name]) AND (([Query Main].[Date of Error]) Between [Enter beginning date (dd/mm/yy)] And [Enter ending date (dd/mm/yy)]) AND (([Query Main].[Is this CSO Feedback?])="Yes" Or ([Query Main].[Is this CSO Feedback?]) Is Null));`    

1 个答案:

答案 0 :(得分:1)

这将为您提供一个起点 - 如果您不想深入研究SQL本身,可以使用Totals查询

SELECT CSO,Service,Count(Feedback) 
FROM MyData 
WHERE FeedbackDate between DateStart and DateEnd
   AND CSO=[CsoName]
GROUP BY CSO,Service;

我建议学习SQL,即使它只是因为它可以更快地输入而不是拖放到查询构建器上

旁注:自从我使用查询构建器以来已经很久了,我必须首先编写SQL,然后看看当我更改视图时激活了哪些按钮

SQL解释:

SELECT CSO,Service,Count(Feedback) - 您想要返回什么?在这种情况下,CSO,服务和反馈的计数。它如何决定SQL中的反馈计数 FROM MyData - 我们希望从中获取信息的表格(或查询) WHERE FeedbackDate between DateStart and DateEnd AND CSO=[CsoName] - 我们如何选择数据
GROUP BY CSO,Service;这就是Count的决定方式 - 在这种情况下,我们将所有CSO和服务组合在一起,然后计算为每个组找到的反馈数量。

首先,根据我们对日期范围的限制以及我们感兴趣的CSO,查询将获得所有CSO,服务和反馈的列表。
然后它将把所有相同的公民社会组织和服务放在一起,并计算它找到的反馈数量 最后,它会给你这个列表,所以你最终会得到类似的东西:

CSO   Service       CountOfFeedback
FRED  Open account  11
FRED  Close Account 2
FRED  Send Order    47