我是一个相当新的访问并且有一个数据库报告问题我似乎无法弄清楚(即使有关于该主题的几篇帖子:/)
该数据库包含200多家商店的审计信息。审核答案是文本,而不是数字,审核日期可以是任何一天。我想创建一个报告,将审核问题列为行标题,将最近的三个审核日期列为列标题,将审核答案列为数据。
我有一个表单,允许用户选择商店,并提供交叉表查询。它有效,但不限于最近三个日期。提供查询的表格还列出了访问次数,所以我认为我可以使用最大访问次数做一些事情,但无济于事。
现在的主要问题是我无法获得交叉表报告来生成任何数据。我已经在我尝试过的那天发现了几个示例代码片段,但每个代码都尝试生成一行和一个总计。由于这些是文本数据字段,总计不起作用,虽然我尝试删除我认为合适的代码片段,但它仍然无法生成正确的报告。
我想尝试的第二个选项是将交叉表查询导出为excel,但我也被卡在那里。
任何帮助都会非常感激。谢谢!
答案 0 :(得分:0)
根据您的技能水平,这可能很难。我的方法是一堆子查询,但它不会很漂亮。假设您的商店由StoreID唯一标识,您的审核日期为审核日期,您的审核结果位于单个文本字段AuditResults中。你需要弄清楚细节,但这是一个粗略的概述:
将所有数据放入一个表中,每个StoreID 1-3行(每个审核日期1个):
Qry1a
。 daterank
列。将其命名为Qry1b
。 Qry2b
和Qry3b
。 Qry1b
,Qry2b
和Qry3b
使用内部联接,创建一个每个StoreID最多返回3行的查询。使用此新表,按StoreID创建一个新查询和分组:
LastAudit: max(iif(DateRank=1,AuditResults,""))
这种方法的优点是它可以处理少于3次审计的商店,或者如果你有不断变化的商店列表(因为storeIDs在任何地方都没有硬编码)。