Erro de "Uso inválido de nova palavra-chave" usando a biblioteca de objetos ADODB

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: 291199
Para uma versão deste artigo do Microsoft Excel 2000, consulte 225059.
Sintomas
Quando você executa uma macro que usa o objeto ADODB no Microsoft Excel, você receberá uma mensagem de erro semelhante à seguinte:
Erro de compilação:

Uso inválido de palavra-chave New
Causa
Esse problema ocorre quando todas as condições a seguir forem verdadeiras:
  • Você cria uma referência a ambas as seguintes bibliotecas:
    • Microsoft ActiveX Data Objects 2.1 Library
    • Microsoft DAO 3.6 Object Library
  • Microsoft DAO 3.6 aparece antes do Microsoft ActiveX na caixa de diálogo referências .
  • Se você explicitamente referir ao ADODB objeto em uma macro, por exemplo:
    Dim rs as ADODB.Recordset					
Observação : esse problema não ocorre quando você usar o objeto DAO e Microsoft DAO 3.6 aparece após o Microsoft ActiveX na caixa de diálogo referências .
Como Contornar
Para contornar esse problema, use um dos seguintes métodos.

Método 1: Remover a referência ao DAO

Se você não precisa a referência ao Microsoft DAO 3.6 Object Library, execute essas etapas para remover a referência:
  1. No Microsoft Visual Basic Editor, clique em referências no menu Ferramentas .
  2. Na caixa de diálogo referências , clique para desmarcar a caixa de seleção Microsoft DAO 3.6 Object Library .
  3. Clique em OK .

Alterar a prioridade da referência ADO

Altere a prioridade na qual a biblioteca de objetos ADO é referenciada por colocar a referência Microsoft ActiveX 2.1 antes do Microsoft DAO 3.6 Object Library.

Para alterar a prioridade, execute essas etapas:
  1. No Microsoft Visual Basic Editor, clique em referências no menu Ferramentas .
  2. Na caixa de diálogo referências , clique em Microsoft ActiveX Data Objects 2.1 Library .
  3. Use os botões de prioridade para mover para a referência a lista de até aparece antes da referência ao Microsoft DAO 3.6 Object Library.
  4. Clique em OK .
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Mais Informações
No Microsoft Visual Basic, você pode referenciar o Microsoft DAO 3.6 Object Library (DAO) e ADO (Microsoft ActiveX Data Objects 2.1 Library) em um único projeto. A biblioteca DAO é Dao360.dll e para o ADO, MSADO15.dll. No entanto, se fazer referência a duas bibliotecas no projeto mesmo, Visual Basic pode não Consulte biblioteca correta quando você faz a conexão ou criar o objeto de conjunto de registros , porque as duas bibliotecas contêm nomes de objeto semelhante.

Para evitar esses tipos de problemas, você pode usar o nome de identificação de programa contido na biblioteca de objetos ao declarar variáveis no seu projeto. No entanto, criar uma referência a duas bibliotecas requer que você faz referência ADO antes da biblioteca DAO. Os exemplos a seguir cria uma variável para um conjunto de registros no DAO e ADO, usando o objeto de identificação do programa:
Dim rsCustomers as DAO.RecordsetDim rsCustomers as ADODB.Recordset				
XL2002 XL2003 XL2007

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 291199 - Última Revisão: 01/31/2007 19:20:44 - Revisão: 3.1

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition

  • kbmt kbbug kbdtacode kberrmsg kbpending kbprogramming KB291199 KbMtpt
Comentários