Como transferir dados de origem de dados ADO para o Excel com o ADO

Traduções de Artigos Traduções de Artigos
Artigo: 295646 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Uma vez que o Microsoft Excel é uma ferramenta de análise de dados poderosas deste tipo, programadores de aplicações do Visual Basic e VBA pretender frequentemente para dados numa folha de cálculo do Excel para fins de análise. Este artigo descreve a abordagem de ActiveX Data Objects (ADO) para esta tarefa programação, utilizando a sintaxe específica do Microsoft Jet para determinados comandos SQL.

Este artigo descreve soluções de programação e não descreve capacidades de importação de dados orientados no menu do Excel (através da opção Abrir no menu ficheiro ) ou a utilização do Microsoft Query (da opção de Obter dados externos no menu dados ).

Para obter informações adicionais sobre soluções de programação complementares que utilizam automatização do Excel em vez de comandos de SQL, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
246335Como transferir dados do conjunto de registos ADO para o Excel com a automatização

Mais Informação

Os exemplos que se seguem, cnSrc representa uma ligação ADO aberta para o exemplo de base de dados Adamastor base de dados Jet utilizando o Jet 4.0 OLE DB Provider.

Como copiar

Pode utilizar a instrução SELECT INTO para copiar dados de qualquer origem de dados Jet pode ler para qualquer destino de dados, criar uma nova tabela (ou, no caso do Excel, uma nova folha de cálculo) ao compor uma mensagem. Não utilize a sintaxe de sinal de dólar para exemplo [Folha1 $], diz respeito a um nome de folha como o destino. O livro de destino pode existir ou não existir; no entanto, a folha de destino tem não existia.

Existem três formas para escrever o comando de cópia copia toda a tabela clientes da base de dados Adamastor do Microsoft Access para a nova folha de cálculo num livro do Excel. Cada sintaxe requer uma única instrução de SQL e cria cabeçalhos de coluna na primeira linha da folha de cálculo de destino.
  • O exemplo seguinte utiliza a sintaxe SELECT INTO:
    Dim strSQL As String
    strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _ 
        "\book1.xls].[Sheet1] FROM Customers"
    cnSrc.Execute strSQL
    					
  • O exemplo seguinte utiliza a sintaxe SELECT INTO IN...:
    strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] FROM Customers"
    						
    onde as informações de base de dados de destino entre parênteses são precedidas por um par de plicas para o argumento de tipo (a parte "Excel 8.0"), que é incluído entre os parênteses rectos quando utiliza esta sintaxe vazio.
  • O exemplo seguinte utiliza a sintaxe alternativa para a cláusula in:
    strSQL = "SELECT * INTO [Sheet1] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' FROM Customers"
    						
    onde o argumento de tipo está agora listado em separado após o caminho do ficheiro de destino.

A actualizar

Pode utilizar a instrução INSERT INTO... IN para acrescentar dados de qualquer origem de dados Jet pode ler para qualquer destino de dados. O livro de destino e a folha de cálculo tem de existir. Agora que está a referir uma folha de cálculo existente, tem de utilizar a sintaxe de sinal de dólar padrão, por exemplo, [Folha1 $], diz respeito a um nome de folha como o destino. Além disso, os cabeçalhos das colunas tem de já existir; por outras palavras, esta instrução só pode ser utilizada para anexar a uma tabela existente.

Existem duas formas para escrever o comando de acrescentar copia toda a tabela clientes da base de dados Adamastor para uma folha de Excel cálculo existente, que já tem cabeçalhos de coluna apropriados.
  • O exemplo seguinte utiliza a sintaxe de INSERT INTO IN...:
    strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] SELECT * FROM Customers"
    						
    onde as informações de base de dados de destino entre parênteses novamente são precedidas por um par vazio de propostas para o argumento de tipo, está agora incluído entre os parênteses rectos.
  • O exemplo seguinte utiliza a sintaxe alternativa para a cláusula in:
    strSQL = "INSERT INTO [Sheet1$] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' SELECT * FROM Customers"
    					

Referências

Para obter informações adicionais sobre esta sintaxe específico do Jet, consulte o ficheiro de Jet SQL ajuda (JETSQL40.chm), especialmente os tópicos na instrução SELECT INTO, a instrução INSERT INTO e a cláusula in.

Propriedades

Artigo: 295646 - Última revisão: 23 de agosto de 2006 - Revisão: 2.4
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Excel 97 Standard Edition
Palavras-chave: 
kbmt kbdatabase kbhowto kbjet kbmdacnosweep KB295646 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 295646

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com