交叉表查询在Excel中不起作用,但在Access中起作用

时间:2014-08-01 09:06:06

标签: sql excel vba ms-access

我有一个让我发疯的问题。我有这样的SQL查询:

TRANSFORM Count(Meetings.[ID]) AS [Number of Meetings] 
SELECT Format([Meetings].[Meeting Date], 'Mmm') AS [Meeting Month] 
FROM Meetings 
GROUP BY Month([Meetings].[Meeting Date]), Format([Meetings].[Meeting Date], 'Mmm') 
ORDER BY Month([Meetings].[Meeting Date]), Year(Meetings.[Meeting Date]) 
PIVOT Year(Meetings.[Meeting Date]);

它在Access中工作正常,但是当我从Excel执行它时,我没有记录。打开记录集部分是100%正确的,因为它适用于其他查询。有人知道它没有取记录的原因吗?

2 个答案:

答案 0 :(得分:1)

如果要从Access将交叉表查询导入Excel,则需要跳过一些环节。 Excel无法准备交叉表,因此您应该

  • 在Access
  • 中进行交叉表查询
  • 创建仅Make Table
  • Select * into StaticCrossTab from YourCrossTabQuery查询
  • 返回Excel并将数据导入为Select * from StaticCrossTab

有点痛苦,但这是我发现将交叉表数据从Access引入Excel的最佳方法。另一种方法是不在Access中执行数据透视,而是在Excel中使用数据透视表来创建所需的交叉表。有时,根据枢轴,这是不可能的。

答案 1 :(得分:0)

在Access(myCrossTabQuery)中创建交叉表查询,然后在Excel导入中使用   从myCrossTabQuery中选择*