Ms access 使用Access 2007 VBA创建透视图

Ms access 使用Access 2007 VBA创建透视图,ms-access,charts,vba,pivot,Ms Access,Charts,Vba,Pivot,好的,我在网上找不到任何好的文章来解释如何使用VBA创建透视图,也没有代码示例。我之所以需要它,是因为我需要透视图根据用户在表单中的选择显示不同的结果。Excel有一些,但Access的语法不同。我知道这是一个蹩脚的问题,但如果有人有如何在VBA中创建轴心图的示例,我将非常感谢您的帮助。经过大约3天的搜索,我想我找到了它。并不是说有人真的在乎,这只有6个视图,这说明了VBA的可怕。无论如何,MSDN将其隐藏在“Office XP”下,而不是Access下,但不管怎样 我已经在Access 200

好的,我在网上找不到任何好的文章来解释如何使用VBA创建透视图,也没有代码示例。我之所以需要它,是因为我需要透视图根据用户在表单中的选择显示不同的结果。Excel有一些,但Access的语法不同。我知道这是一个蹩脚的问题,但如果有人有如何在VBA中创建轴心图的示例,我将非常感谢您的帮助。

经过大约3天的搜索,我想我找到了它。并不是说有人真的在乎,这只有6个视图,这说明了VBA的可怕。无论如何,MSDN将其隐藏在“Office XP”下,而不是Access下,但不管怎样


我已经在Access 2007中创建了一个数据透视图表单。在另一个窗体上,我将用户选择控件和数据透视窗体作为子窗体。然后我在主窗体中使用这样的代码。对象模型与OWC11(Office Web Components 11)相同

这些常数可以从OWC11中导出

C:\Program Files\Common Files\Microsoft Shared\Web Components\11\OWC11.DLL

你需要把它们放在模块的顶部。在这个阶段,我不确定如何从Access数据透视图中提取它们。引用OWC11并将子窗体ChartSpace设置为声明为OWC11.ChartSpace的变量。编写代码后,更改为“Object”类型,并删除后期绑定的引用(并重新测试)。这样,在部署时,您的REF不会在64位计算机上松开

Private Enum ChartConstants
  chDimSeriesNames = 0
  chDimCategories = 1
  chDimValues = 2
  chDataBound = 0
  chAxisPositionValue = -8
  chAxisPositionCategory = -7
  chChartTypePie = 18
End Enum
请记住,您还可以让用户访问数据透视图属性窗体、字段列表和放置区域。或者,他们可以右键单击图表以访问它们


(注意-这对我来说仍然是一个新发现,因此如果我发现任何问题,我将努力更新此答案。)

它只说明了Access中图表的可用性,在我的经验中,早在1996年就存在集成MS Graph的主要问题。因此,许多高级访问开发人员避免使用它。直到2003年,数据透视表才出现&我记得人们在工作中遇到了问题
Private Enum ChartConstants
  chDimSeriesNames = 0
  chDimCategories = 1
  chDimValues = 2
  chDataBound = 0
  chAxisPositionValue = -8
  chAxisPositionCategory = -7
  chChartTypePie = 18
End Enum