如何使Access 2016交叉表输出列通用?

时间:2019-09-02 15:22:52

标签: ms-access access-vba

我想比较两年的预算。年份范围从2020年到2028年(例如)。我需要交叉表报表驱动查询才能输出“ Year1”和“ Year2”,而不是说2021和2022

我已经创建了交叉表查询,该查询将生成报告,但是测试正在对2027和2028进行比较。这意味着输出列已被硬编码为2027和2028。正如我想询问用户的任何对在该年份范围内的年份中,我不能有引用“ 2027”或“ 2028”的报告,而只能引用“ Year1”和“ Year2”。

我为此抓了头,试图键入列标题“ Year1”和“ Year2”,但是这当然会出错。

我想做些什么吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您应该创建一个Period2列,其计算如下:

Period2: iif(period = dmax("period", "mytable"), "Current", "Previous")  

可能不是很快,但是您明白了。
通过创建(并加入)

之类的子查询,可以达到类似的结果,并可能获得更好的性能。
select Min(period) as Previous, max(period) as Current from myMainTable

然后您可以将此Period2用作xtab中的Column标头。