我在MS访问中有一个包含以下列的数据表: ID |名称|调查员|开放日期|关闭日期|打开/关闭
我正在尝试创建一个报告,其中包含按调查员名称分组的未结案例,已结案例和待处理案例的总数。问题是这三列是针对不同的事情进行过滤的:打开案例(打开日期),关闭案例(关闭日期)和未决案例(没有日期过滤器)。是否有正确的方法可以获取所有数据在一份没有复杂事情的报告中?谢谢!
答案 0 :(得分:0)
您可以这样做:
SELECT Investigator,
Sum(Abs(Not IsNull([Open Date]) And IsNull([Closed Date]))) AS OpenCases,
Sum(Abs(Not IsNull([Closed Date]))) AS ClosedCases,
Sum(Abs(IsNull([Closed Date]) And IsNull([Open Date]))) AS PendingCases
FROM MyTable
GROUP BY Investigator
将其放入查询并保存; qInvestigatorSummary等等。然后从查询中构建报告。
几个笔记 我假设空日期字段为空。如果它不为null,您可以通过其他方式([Open Date] ='')或IsDate([Open Date])进行测试。根据空单元格中的内容,它们的反应会有所不同。
此外,我希望你没有按照你的指示命名你的字段。作为一般规则,在字段名称中仅使用字母数字字符会更好,如果需要,可以使用下划线。例如,通过删除空格,'OpenDate'将比'Open Date'好得多。 'open_date'也可以。应该不惜一切代价避免像“打开/关闭”斜杠这样的事情。您还应该避免使用“名称”之类的保留字。数据库对于这样的单词有特殊用途,它可以在将来为您做更多的工作。尝试更简单地命名您的字段,例如“名称”是指什么名称? UserName或CaseName会好得多。描述性将为你和任何跟随你的脚步的人提供服务,而不是简短而且不清楚。