Поделиться через


Свойство 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 и обратная связь.