【发布时间】:2019-11-25 06:17:09
【问题描述】:
在 Microsoft Access 中,我需要将交叉表查询绑定到报表。要绑定查询,我需要提前知道列名,这是问题所在,因为我不知道数据中将包含哪些日期。日期名称最终成为交叉表查询中的列。由于日期不同,列名也不同,我无法绑定报告,因为我不知道列名。我能想到的最好的解决方案是计算一个用它的顺序替换日期的列。那么列名将始终为 1,2,3,4,5,6,7,8。但是,我无法创建此计算订单列。无论我做什么都可以访问错误。部分原因是该表将用于带有参数的交叉表查询,因此可以排除任何额外的复杂问题。
如何将 StatusDate 转换为 CalculatedOrder? 编辑: 我不能使用子查询来制作 cmets 中所要求的 CalculatedOrder,因为原始查询具有参数。当子查询使用基于参数的查询时访问错误。
【问题讨论】:
-
access.hookom.net 链接不适用,因为日期是随机的。 allen browne 链接有效,但仅适用于我提出的非常简单的示例。我需要在查询中包含多个我认为不相关的列。我可能不得不重写问题
-
Allen Brownes 解决方案一切正常,直到我尝试在交叉表中使用计算顺序。然后 Access 会引发错误。这显然是一个错误。
-
另一种方法stackoverflow.com/questions/56017569/…。提供具有代表性的数据示例以及所需的输出。
-
似乎到目前为止提出的两种方法都导致计算顺序是一个表达式。一切正常,直到您尝试使用 CalculatedOrder 作为交叉表中的列变量。然后你会得到错误:必须在总行中为交叉表行中具有列标题的字段输入 group by。我可能问错了问题。
标签: sql ms-access calculated-columns crosstab correlated-subquery