ADOConnection 属性

       

如果数据透视表的缓存与 OLE DB 数据源连接,就返回一个 ADO 连接对象。ADOConnection 属性表明 Microsoft Excel 与数据提供程序相连,数据提供程序允许用户在同一个会话的上下文中写入代码,该会话与 ADO(相关源)或 ADOMD(OLAP 源)一起使用。只读。

expression.ADOConnection

expression   必需。该表达式返回一个 PivotCache 对象。

说明

ADOConnection 属性只用于数据源是 OLE DB 数据源时的会话。如果没有 ADOMD 会话,查询将导致运行错误。

ADOConnection 属性可用于任意包含 ADO 的基于 OLEDB 的缓存。采用 ADOMD 的 ADO 连接对象可用于查找有关 OLAP 多维数据集的信息,缓存基于该 OLAP 多维数据集。

示例

本示例为数据透视表缓存的 ADOConnection 属性设置了一个 ADODB 连接对象。本示例假定数据透视表位于活动工作表上。

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