Свойство QueryTable.MaintainConnection (Excel)

Имеет значение "True ", если подключение к указанному источнику данных сохраняется после обновления и до закрытия книги. Значение по умолчанию — True. Для чтения и записи, Boolean.

Синтаксис

выражение. MaintainConnection

выражение Переменная, представляющая объект QueryTable .

Примечания

Свойство MaintainConnection можно задать только в том случае, если свойство QueryType таблицы запросов или кэша сводной таблицы имеет значение xlOLEDBQuery.

Если ожидается частые запросы к серверу, присвоение этому свойству значения True может повысить производительность за счет сокращения времени повторного подключения. Если для свойства задать значение False , открытое соединение будет закрыто.

Если данные импортируются с помощью пользовательского интерфейса, данные из веб-запроса или текстового запроса импортируются как объект QueryTable , а все остальные внешние данные импортируются как объект ListObject .

Если данные импортируются с помощью объектной модели, данные из веб-запроса или текстового запроса должны быть импортированы как QueryTable, а все остальные внешние данные можно импортировать как ListObject или QueryTable.

Используйте свойство QueryTable объекта ListObject для доступа к свойству MaintainConnection .

Пример

В этом примере создается кэш сводной таблицы на основе поставщика OLAP, а затем создается новый отчет сводной таблицы на основе кэша в ячейке A3 активного листа. В этом примере подключение обрывается после первоначального обновления.

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

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.