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 支持和反馈,获取有关如何接收支持和提供反馈的指南。