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. MaintenanceConnexion

Expression Variable qui représente un objet QueryTable .

Remarques

Vous pouvez définir la propriété MaintainConnection uniquement 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 d’une requête de texte sont importées en tant qu’objet QueryTable , tandis que toutes les autres données externes sont importées en tant qu’objet ListObject .

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

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 crée un rapport de tableau croisé dynamique basé sur le cache à la cellule A3 de 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.