2010-08-22 102 views
1

有没有办法使用VBA将Access 2003数据透视表视图(用于透视206,000条记录)复制到Excel 2003?导出/复制Access数据透视表视图到Excel 2003?

+1

记录数意味着您不能导出到Excel 2003,除非您将数据集分区为行数少于Excel 2003限制的单个工作表。你没有Excel 2007/2010吗? – 2010-08-23 20:13:43

+0

我们已经使用了Office 2007多年,而Office 2010使用了一两个月 - 但不是商业用户。 IT治理问题。 – 2010-08-24 22:37:32

+0

我们的高级用户安装了2003年和2007年,以处理更大的数据集,并允许他们按自己的步调转换2003年的代码。有问题,但我们已设法解决它们。 – JeffO 2010-08-26 17:51:51

回答

0

不确定记录数是否很重要,除非结果超过Excel 2003列和/或行最大值。

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel11, "qryPivot_Table_Name", "C:\Users\user\Documents\PivotTable.xlsx", True 
+0

谢谢,但这样做会导出实际的表(或查询)而不是数据透视表),该表针对Excel 2003的65,536行限制运行。所以,我只想导出数据透视表视图,即只是结果。 – 2010-08-23 13:35:16

+0

查询是一个透视类型,除了数据透视表查询的结果集之外,还会输出什么内容? – JeffO 2010-08-23 13:55:14

+0

我的结果集为这个数据透视超过了200,000条记录。我想导出“数据透视表视图”(带有隐藏的细节) - 一个只有40行的摘要。 – 2010-08-23 14:27:26

0

这个怎么样?

DoCmd.OpenQuery "qryPivot_Table_Name", acViewPivotTable DoCmd.RunCommand AcCommand.acCmdPivotTableExportToExcel

之后,你只需要打通Excel.Application对象

+0

谢谢,但虽然这导出了数据透视表,但它也导出了它后面的数据表(这反映了问题的目的),以找到只导出数据透视表的“轻量级”方法。 – 2011-05-09 17:47:27

0

一个参照新workboook如果你需要的是数据,比如总量,按Ctrl的可视显示器+ C选择想要显示的范围,然后按住Shift + Edit + Paste Picture Link。数据更新时会更改图像。我认为你可以适应这个宏,并相当容易地生成你想要分发的内容。

+0

好吧,我们已升级到Office 2010.如何将Access数据透视表复制为链接图像?我只能够将数据透视表复制为文本。据我所知,您所描述的方法在Access中无效,但它可能适用于Excel,Word等。 – 2011-06-01 22:01:33

+0

抱歉,我误读并认为您先拉入Excel,然后想要显示来自那里的数据透视表而不是发送整个数据负载。一旦你将查询拉入Excel,这是一种可能性。您可能会重新生成一个允许来自excel的查询 – datatoo 2011-06-01 22:47:10

+0

您可以在访问中为您的透视表保存查询。然后从该数据透视表查询中生成一个表格,并使用限制显示的过滤查询拉入excel。您可以显着限制导入到工作表的内容,然后在报告中显示相关最终显示的粘贴链接。 – datatoo 2011-06-03 06:10:19