PivotCache.ADOConnection 属性 (Excel)
如果将数据透视表缓存连接到 OLE DB 数据源,则返回一个 ADO Connection 对象。 ADOConnection 属性表明 Microsoft Excel 与数据提供程序相连,允许用户在 Excel 正在使用的同一会话的上下文内编写代码,Excel 将该会话与 ADO(关系源)或 ADO MD(OLAP 源)一起使用。 此为只读属性。
语法
表达式。ADOConnection
表达 一个代表 PivotCache 对象的变量。
备注
ADOConnection 属性仅适用于具有 OLE DB 数据源的会话。 如果没有 ADO 会话,查询将导致运行时错误。
ADOConnection 属性可用于任何具有 ADO 的基于 OLE DB 的缓存。 ADO Connection 对象可与 ADO MD 一起使用,以查找有关缓存所基于的 OLAP 多维数据集的信息。
示例
本示例将 ADO DB Connection 对象设置为数据透视表缓存的 ADOConnection 属性。 本示例假设数据透视表位于活动工作表上。
Sub UseADOConnection()
Dim ptOne As PivotTable
Dim cmdOne As New ADODB.Command
Dim cfOne As CubeField
Set ptOne = Sheet1.PivotTables(1)
ptOne.PivotCache.MaintainConnection = True
Set cmdOne.ActiveConnection = ptOne.PivotCache.ADOConnection
ptOne.PivotCache.MakeConnection
' Create a set.
cmdOne.CommandText = "Create Set [Warehouse].[My Set] as '{[Product].[All Products].Children}'"
cmdOne.CommandType = adCmdUnknown
cmdOne.Execute
' Add a set to the CubeField.
Set cfOne = ptOne.CubeFields.AddSet("My Set", "My Set")
End Sub
本示例将添加一个计算成员,并假设数据透视表位于活动工作表上。
Sub AddMember()
Dim cmd As New ADODB.Command
If Not ActiveSheet.PivotTables(1).PivotCache.IsConnected Then
ActiveSheet.PivotTables(1).PivotCache.MakeConnection
End If
Set cmd.ActiveConnection = ActiveSheet.PivotTables(1).PivotCache.ADOConnection
' Add a calculated member.
cmd.CommandText = "CREATE MEMBER [Warehouse].[Product].[All Products].[Drink and Non-Consumable] AS '[Product].[All Products].[Drink] + [Product].[All Products].[Non-Consumable]'"
cmd.CommandType = adCmdUnknown
cmd.Execute
ActiveSheet.PivotTables(1).PivotCache.Refresh
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。