2

我想使用 MS Access 交叉表查询提取数据,以便将其绑定到报表。当我加载页面时,出现运行时错误“3637”:无法使用非固定列的交叉表作为子查询。

我想要一种在运行查询时取回固定网格的方法,如果单元格为空,则显示零。

4

1 回答 1

0

子查询?这是我在 Access 方面的弱点之一,所以我无法帮助你。我建议发布查询的 SQL,以便其他人可以查看。运行查询时还会发生什么?

以下是我用来为给定单位提供过去十年成本的查询。TRANSFORM Sum(ServiceRecords.srTotalCost) AS AnnualCost 从 ServiceRecords GROUP BY ServiceRecords.srEquipmentID 中选择 ServiceRecords.srEquipmentID PIVOT "C" & DateDiff("yyyy",[srServiceDate],Date()) In ("C9","C8"," C7","C6","C5","C4","C3","C2","C1","C0");

诀窍是在 PIVOT 之后。由于我想要最近十年的数据,“C”和 DateDiff 部分设置了一个字符串变量,调用 C0 到 C9。In 之后的部分告诉将内容放入哪一列。

另一个提取有关设备数据的查询称为此查询。我们通常使用的术语是堆叠查询。

如果这还不足以让您继续前进,请说明您尝试创建交叉表的数据类型。

Access MVP 研究员 Allen Browne 在这个主题上有一个很好的页面。 交叉表查询技术

于 2009-06-02T04:30:25.000 回答