PROBLEMA: Agrupando seqüência erro inicial ADODB Recordset na primeira vez contra um Excel XLS

Traduções deste artigo Traduções deste artigo
ID do artigo: 246167 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Abrindo uma planilha do Microsoft Excel no Visual Basic no Visual Studio 6.0 Service Pack 3 (ou posterior) ambiente IDE (de desenvolvimento integrado) com o driver do Excel, ODBC/ISAM gera o seguinte erro de tempo de execução:
Executar o erro em tempo de '-2147467259 (80004005)': [Microsoft] [ODBC driver do Excel] selecionado o sistema operacional não dá suporte à seqüência de agrupamento
Esse problema ocorre sempre que você executar o código dentro do IDE do Visual Basic.

Observação Este erro não ocorre se a todos os campos são selecionados na instrução SQL, por exemplo:
SELECT * FROM ...
				
também, esse problema não ocorre em um EXE compilado.

Causa

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

Mais Informações

Etapas para reproduzir o problema

  1. Criar uma planilha no Microsoft Excel 97 ou Microsoft Excel 2000 e coloque os seguintes valores nos campos prescribe:
    • A1 = F1
    • B1 = F2
    • C1 = F3

  2. Salve a planilha e criar um DSN apontando para ele.
  3. Inicie o Visual Basic 6.0 do Visual Studio 6.0 Service Pack 3 ou posterior.
  4. Crie um novo EXE padrão e definir uma referência ao 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. Faça as alterações necessárias para ConnectionString.
  6. Execute o formulário.
  7. Na primeira vez em que o formulário é executado, o erro é exibido; ele não aparece em execuções subseqüentes.

Propriedades

ID do artigo: 246167 - Última revisão: quinta-feira, 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 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: 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