DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 295646 - Última revisão: quarta-feira, 23 de agosto de 2006 - Revisão: 2.4

 

Nesta página

Sumário

Como o Microsoft Excel é como uma ferramenta de análise de dados eficientes, os desenvolvedores de aplicativos Visual Basic e o VBA geralmente querem fazer dados em uma planilha do Excel para fins de análise. Este artigo descreve a abordagem de ActiveX Data Objects (ADO) para esta tarefa de programação, usando a sintaxe específicos do Microsoft Jet para certos comandos SQL.

Este artigo descreve as soluções de programação e não descreve recursos de importação de dados orientados por menus do Excel (através da opção Abrir no menu arquivo ) ou o uso 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 usam de automação do Excel em vez de comandos SQL, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
246335  (http://support.microsoft.com/kb/246335/EN-US/ ) Como transferir dados de Recordset do ADO para o Excel com a automação

Mais Informações

Exemplos a seguir, cnSrc representa uma conexão ADO aberta para o banco de dados do Jet usando o Jet 4.0 OLE DB Provider de exemplo Northwind.

Como copiar

Você pode usar a instrução SELECT INTO para copiar dados de qualquer fonte de dados Jet pode ler em qualquer destino de dados, criando uma nova tabela (ou, no caso do Excel, uma nova planilha) imediatamente. Não use a sintaxe de sinal de dólar, para exemplo [Sheet1 $], quando você se referir um nome de planilha como seu destino. A pasta de destino pode existir ou não existe; no entanto, a planilha de destino deve ainda inexistente .

Há três maneiras de gravar o comando de cópia copia toda a tabela Customers do banco de dados Northwind do Microsoft Access para uma nova planilha em uma pasta de trabalho do Excel. Cada sintaxe requer uma única instrução SQL e cria cabeçalhos de coluna na primeira linha da planilha de destino.
  • O exemplo a seguir usa 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 a seguir usa a sintaxe de SELECT INTO... IN:
    strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] FROM Customers"
    						
    onde as informações de destino entre colchetes do banco de dados são precedidas por um par de aspas simples para o argumento de tipo (a parte "Excel 8.0"), que está incluído dentro de colchetes quando você usa esta sintaxe vazio.
  • O exemplo a seguir usa 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 agora está listado separadamente após o caminho do arquivo de destino.

Como anexar

Você pode usar a instrução INSERT INTO... IN para acrescentar dados de qualquer fonte de dados Jet pode ler em qualquer destino de dados. A pasta de trabalho de destino e a planilha devem existir. Agora que você está se referindo a uma planilha existente, você deve usar a sintaxe do padrão de dólar, por exemplo, [Sheet1 $], quando você se referir um nome de planilha como seu destino. Além disso, os títulos de coluna já devem estar presentes; em outras palavras, esta instrução só pode ser usada para acrescentar uma tabela existente.

Há duas maneiras para gravar o comando de acréscimo copia toda a tabela Customers do banco de dados Northwind para uma planilha do Excel existente, que já tem os títulos de coluna apropriado.
  • O exemplo a seguir usa a sintaxe INSERT INTO... IN:
    strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] SELECT * FROM Customers"
    						
    onde as informações de destino entre colchetes do banco de dados novamente são precedidas por um vazio par de aspas para o argumento de tipo, que agora está incluído dentro de colchetes.
  • O exemplo a seguir usa 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 essa sintaxe específicos do Jet, consulte o arquivo de Ajuda de Jet SQL (JETSQL40.chm), especialmente os tópicos sobre a instrução SELECT INTO, a instrução INSERT INTO e a cláusula IN.

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áticaTraduçã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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 295646  (http://support.microsoft.com/kb/295646/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store