Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cria uma nova tabela de consulta.
Sintaxe
expressão. Adicionar (Ligação, Destino, Sql)
expressão Uma variável que representa um objeto QueryTables .
Parâmetros
| Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
|---|---|---|---|
| Connection | Obrigatório | Variant | A fonte de dados para a tabela de consulta. Pode ser um dos seguintes:
|
| Destino | Obrigatório | Range | A célula no canto superior esquerdo do intervalo de destino da tabela de consulta (o intervalo onde a tabela de consulta resultante será colocada). O intervalo de destino deverá estar na planilha com o objeto QueryTables especificado por expressão. |
| Sql | Opcional | Variant | A cadeia de caracteres de consulta SQL a ser executada na fonte de dados ODBC. Este argumento é opcional quando está a utilizar uma origem de dados ODBC (se não o especificar aqui, deve defini-lo utilizando a propriedade Sql da tabela de consulta antes de a tabela ser atualizada). Não é possível usar este argumento quando um objeto QueryTable, arquivo de texto ou objeto Recordset ADO ou DAO é especificado como fonte de dados. |
Valor de retorno
Um objeto QueryTable que representa a nova tabela de consulta.
Comentários
Uma consulta criada por este método não é executada até que o método Refresh seja chamado.
Exemplo
Este exemplo cria uma tabela de consulta com base em um conjunto de registros ADO. O exemplo preserva as configurações de classificação e a filtragem de coluna existentes e as informações de layout para compatibilidade com versões anteriores.
Dim cnnConnect As ADODB.Connection
Dim rstRecordset As ADODB.Recordset
Set cnnConnect = New ADODB.Connection
cnnConnect.Open "Provider=SQLOLEDB;" & _
"Data Source=srvdata;" & _
"User ID=testac;Password=4me2no;"
Set rstRecordset = New ADODB.Recordset
rstRecordset.Open _
Source:="Select Name, Quantity, Price From Products", _
ActiveConnection:=cnnConnect, _
CursorType:=adOpenDynamic, _
LockType:=adLockReadOnly, _
Options:=adCmdText
With ActiveSheet.QueryTables.Add( _
Connection:=rstRecordset, _
Destination:=Range("A1"))
.Name = "Contact List"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Este exemplo importa um arquivo de texto de largura fixa para uma nova tabela de consulta. A primeira coluna do arquivo de texto tem cinco caracteres de largura e é importada como texto. A segunda coluna tem quatro caracteres de largura e é ignorada. O resto do arquivo de texto é importado para a terceira coluna e tem o formato Geral aplicado a ela.
Set shFirstQtr = Workbooks(1).Worksheets(1)
Set qtQtrResults = shFirstQtr.QueryTables.Add( _
Connection := "TEXT;C:\My Documents\19980331.txt",
Destination := shFirstQtr.Cells(1,1))
With qtQtrResults
.TextFileParsingType = xlFixedWidth
.TextFileFixedColumnWidths := Array(5,4)
.TextFileColumnDataTypes := _
Array(xlTextFormat, xlSkipColumn, xlGeneralFormat)
.Refresh
End With
Este exemplo cria uma nova tabela de consulta na planilha ativa.
sqlstring = "select 96Sales.totals from 96Sales where profit < 5"
connstring = _
"ODBC;DSN=96SalesData;UID=Rep21;PWD=NUyHwYQI;Database=96Sales"
With ActiveSheet.QueryTables.Add(Connection:=connstring, _
Destination:=Range("B1"), Sql:=sqlstring)
.Refresh
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.