Compartilhar via


Propriedade QueryTable.MaintainConnection (Excel)

True se a conexão com a fonte de dados especificada for mantida após a atualização e até a pasta de trabalho ser fechada. O valor padrão é True. Boolean de leitura/gravação.

Sintaxe

expressão. ManutençãoLigação

expressão Uma variável que representa um objeto QueryTable .

Comentários

Só pode definir a propriedade MaintainConnection se a propriedade QueryType da tabela de consulta ou da cache da tabela dinâmica estiver definida como xlOLEDBQuery.

Se você previr consultas frequentes a um servidor, a definição dessa propriedade como True poderá melhorar o desempenho reduzindo o tempo de reconexão. A definição da propriedade como False fará com que uma conexão aberta seja fechada.

Se importar dados através da interface de utilizador, os dados de uma consulta Web ou de uma consulta de texto são importados como um objeto QueryTable , enquanto todos os outros dados externos são importados como um objeto ListObject .

Se importar dados com o modelo de objeto, os dados de uma consulta Web ou de uma consulta de texto têm de ser importados como uma Tabela de Consulta, enquanto todos os outros dados externos podem ser importados como um ListObject ou uma QueryTable.

Utilize a propriedade QueryTable do ListObject para aceder à propriedade MaintainConnection .

Exemplo

Este exemplo cria uma nova cache de tabela dinâmica com base num fornecedor OLAP e, em seguida, cria um novo relatório de tabela dinâmica com base na cache na célula A3 na folha de cálculo ativa. O exemplo encerra a conexão após a atualização 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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.