Propriété QueryTable.MaintainConnection (Excel)

Cette propriété a la valeur True si la connexion à la source de données spécifiée est conservée après l’actualisation et jusqu’à la fermeture du classeur. La valeur par défaut est True. Type de données Boolean en lecture-écriture.

Syntaxe

expression. MaintainConnection

expression Variable qui représente un objet QueryTable .

Remarques

Vous ne pouvez définir la propriété MaintainConnection que si la propriété QueryType de la table de requête ou du cache de tableau croisé dynamique a la valeur xlOLEDBQuery.

Si vous envisagez d’effectuer des requêtes fréquentes sur un serveur, l’affectation de la valeur True à cette propriété peut permettre une amélioration des performances par la réduction du temps de reconnexion. L’affectation de la valeur False entraîne la fermeture d’une connexion ouverte.

Si vous importez des données à l’aide de l’interface utilisateur, les données d’une requête web ou textuelle sont importées en tant qu’objet QueryTable , tandis que toutes les autres données externes sont importées en tant qu’objets ListObject .

Si vous importez des données à l’aide du modèle objet, les données d’une requête web ou textuelle doivent être importées en tant que table de requête, tandis que toutes les autres données externes peuvent être importées en tant que listObject ou table de requête.

Utilisez la propriété QueryTable du ListObject pour accéder à la propriété MaintainConnection .

Exemple

Cet exemple crée un cache de tableau croisé dynamique basé sur un fournisseur OLAP, puis un rapport de tableau croisé dynamique basé sur le cache de la cellule A3 dans la feuille de calcul active. Enfin, l’exemple montre comment mettre fin à la connexion après l’actualisation initiale.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.