Свойство PivotCache.ADOConnection (Excel)
Возвращает объект ADO Connection , если кэш сводной таблицы подключен к источнику данных OLE DB. Свойство ADOConnection предоставляет подключение Microsoft Excel к поставщику данных, позволяя пользователю писать код в контексте того же сеанса, который Используется Excel с ADO (реляционный источник) или ADO MD (источник OLAP). Только для чтения.
Синтаксис
expression. ADOConnection
Выражение Переменная, представляющая объект PivotCache .
Замечания
Свойство ADOConnection доступно только для сеансов с источником данных OLE DB. Если сеанс ADO отсутствует, запрос приведет к ошибке во время выполнения.
Свойство ADOConnection можно использовать для любого кэша на основе OLE DB с ADO. Объект 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 и обратная связь.