Propiedad PivotCache.ADOConnection (Excel)
Devuelve un objeto ADO Connection si la caché de la tabla dinámica está conectada a un origen de datos OLE DB. La propiedad ADOConnection expone la conexión de Microsoft Excel con el proveedor de datos, lo que permite al usuario escribir código en el contexto de la misma sesión que Excel está utilizando con ADO (origen relacional) o ADO MD (origen OLAP). Solo lectura.
Sintaxis
expresión. Adoconnection
Expresión Variable que representa un objeto PivotCache .
Comentarios
La propiedad ADOConnection solo está disponible para sesiones con un origen de datos OLE DB. Si no existe ninguna sesión ADO, la consulta causará un error en tiempo de ejecución.
La propiedad ADOConnection se puede usar para cualquier caché basada en OLE DB con ADO. El objeto ADO Connection se puede usar con ADO MD para buscar información sobre los cubos OLAP en que se basa la caché.
Ejemplo:
En este ejemplo se establece un objeto Connection de base de datos de ADO en la propiedad ADOConnection de la caché de tabla dinámica. El ejemplo presupone que existe un informe de tabla dinámica en la hoja de cálculo activa.
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
Este ejemplo agrega un miembro calculado, suponiendo que exista un informe de tabla dinámica en la hoja de cálculo activa.
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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.