Propiedad QueryTable.MaintainConnection (Excel)

Es True si la conexión al origen de datos especificada se mantiene después de la actualización y hasta que se cierre el libro. El valor predeterminado es True. Boolean de lectura y escritura.

Sintaxis

expresión. MaintainConnection

Expresión Variable que representa un objeto QueryTable .

Comentarios

Solo puede establecer la propiedad MaintainConnection si la propiedad QueryType de la tabla de consulta o la caché de tabla dinámica está establecida en xlOLEDBQuery.

Si prevé que va a realizar frecuentes consultas a un servidor, configurar esta propiedad como True puede mejorar el rendimiento al reducir el tiempo de reconexión. Al configurar la propiedad como False se provoca el cierre de una conexión abierta.

Si importa datos mediante la interfaz de usuario, los datos de una consulta web o una consulta de texto se importan como un objeto QueryTable , mientras que todos los demás datos externos se importan como un objeto ListObject .

Si importa datos mediante el modelo de objetos, los datos de una consulta web o una consulta de texto se deben importar como queryTable, mientras que todos los demás datos externos se pueden importar como un Objeto ListObject o una QueryTable.

Use la propiedad QueryTable de ListObject para tener acceso a la propiedad MaintainConnection .

Ejemplo:

En este ejemplo se crea una nueva caché de tabla dinámica basada en un proveedor OLAP y, a continuación, se crea un nuevo informe de tabla dinámica basado en la caché en la celda A3 de la hoja de cálculo activa. El ejemplo finaliza la conexión tras la actualización inicial.

With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal) 
 .Connection = _ 
 "OLEDB;Provider=MSOLAP;Location=srvdata;Initial Catalog=National" 
 .MaintainConnection = False 
 .CreatePivotTable TableDestination:=Range("A3"), _ 
 TableName:= "PivotTable1" 
End With 
With ActiveSheet.PivotTables("PivotTable1") 
 .SmallGrid = False 
 .PivotCache.RefreshPeriod = 0 
 With .CubeFields("[state]") 
 .Orientation = xlColumnField 
 .Position = 0 
 End With 
 With .CubeFields("[Measures].[Count Of au_id]") 
 .Orientation = xlDataField 
 .Position = 0 
 End With 
End With

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.