我想使用MS Access交叉表查询提取数据,以便将其绑定到报表。加载页面时,出现运行时错误“ 3637”:无法将非固定列的交叉表用作子查询。
我想要一种在运行查询时返回固定网格的方法,如果单元格为空,则显示零。
子查询?这是我在Access方面的弱点之一,因此我在这里无法为您提供帮助。我建议尽管发布查询的SQL,以便其他人可以看一下。另外,当您运行查询时会发生什么?
以下是我用于给定单位最近十年的费用查询。将Sum(ServiceRecords.srTotalCost)转换为AnnualCost SELECT ServiceRecords.srEquipmentID来自ServiceRecords GROUP BY ServiceRecords.srEquipmentID PIVOT“ C”和DateDiff(“ yyyy”,[srServiceDate],Date())在(“ C9”,“ C8”,“ C7”,“ C6”,“ C5”,“ C4”,“ C3”,“ C2”,“ C1”,“ C0”));
诀窍是在PIVOT之后。因为我想要最近十年的数据,所以“ C”和DateDiff部分设置了一个字符串变量调用C0到C9。“输入”后面的部分告诉您将内容填充到哪一列。
另一个提取有关设备数据的查询称为该查询。我们通常用于此类的术语是堆叠查询。
如果这还不足以帮助您继续前进,请指出您要创建交叉表的数据类型。
资深访问MVP,艾伦·布朗(Allen Browne)在这个主题上有一个不错的页面。 交叉表查询技术