PROBLEMA: Agrupar sequência erro inicial ADODB Recordset na primeira vez com um Excel XLS

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

Nesta página

Sintomas

Abrir uma folha de Microsoft Excel cálculo a partir de dentro Visual Basic no Visual Studio 6.0 Service Pack 3 (ou posteriores) Development Environment IDE (Integrated) com o controlador/ODBC/ISAM do Excel gera o seguinte erro de tempo de execução:
Erro de tempo '-2147467259 (80004005)' de executar: [Microsoft] [ODBC Excel controlador] seleccionado não suportada pelo sistema operativo de sequência de ordenação
Este problema ocorre sempre que executar o código no IDE do Visual Basic.

Nota Este erro não ocorre se todos os campos seleccionados na instrução SQL, por exemplo:
SELECT * FROM ...
				
também, este problema não ocorre dentro de um EXE compilado.

Causa

Este é um problema no IDE do Visual Basic começando com o service pack 3.

Mais Informação

Passos para reproduzir o comportamento

  1. Crie uma folha de cálculo do Microsoft Excel 97 ou do Microsoft Excel 2000 e coloque os seguintes valores nos campos prescribe:
    • A1 = F1
    • B1 = F2
    • C1 = F3

  2. Guarde a folha de cálculo e criar um DSN a apontar para.
  3. Inicie o Visual Basic 6.0 a partir do Visual Studio 6.0 Service Pack 3 ou posterior.
  4. Crie um novo EXE padrão e defina uma referência para Microsoft Active Data Objects. Cole o seguinte código no formulário:
    Public Sub Form_Load()
    
        Dim constring As String
        Dim Connection As New ADODB.Connection
        Dim cmd As New ADODB.Command
        Dim rs As New ADODB.Recordset
    
    '   define a DSN IMPORT-XLS, using the Excel ODBC driver, and point it to the xls file
         constring = "Provider=MSDASQL;DSN=IMPORT-XLS"
         
         Connection.Open constring
         Set cmd.ActiveConnection = Connection
         cmd.CommandType = adCmdText
         
    '   The following .CommandText causes the error, but only the first time it is run within the ide.
       cmd.CommandText = "Select F1, F2 from ""Sheet1$"""
    '   The following .CommandText will not cause the error.
    '    cmd.CommandText = "Select * from ""Sheet1$"""
    
         rs.CursorLocation = adUseClient
         rs.CursorType = adOpenStatic
         rs.LockType = adLockReadOnly
         rs.Open cmd
         While Not rs.EOF
            MsgBox rs.Fields(0)
            rs.MoveNext
         Wend
    
    End Sub
    					
  5. Efectue as alterações necessárias para ConnectionString.
  6. Execute o formulário.
  7. Quando o formulário for executada, pela primeira vez o erro é apresentada; não aparecer na execuções subsequentes.

Propriedades

Artigo: 246167 - Última revisão: 24 de junho de 2004 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 3
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 4
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 5
  • Microsoft ActiveX Data Objects 2.1 Service Pack 2
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
Palavras-chave: 
kbmt kbdatabase kbiisam kbprb KB246167 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: 246167

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