Al momento sei offline in attesa che la connessione Internet venga ristabilita

PRB: Confronto sequenza errore apre un Recordset ADODB la prima volta contro un Excel XLS

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 246167
Sintomi
Apertura di un foglio elettronico Microsoft Excel nell'ambiente di sviluppo integrato (IDE) di Visual Basic in Visual Studio 6.0 Service Pack 3 (o versioni successive) con il driver ODBC/Excel/ISAM genera il seguente errore in fase di esecuzione:
Errore di runtime '-2147467259 (80004005)': [Microsoft] [ODBC Excel Driver] selezionato non è supportato dal sistema operativo di sequenza di ordinamento
Questo problema si verifica ogni volta che si esegue il codice all'interno dell'IDE di Visual Basic.

Nota Questo errore si verifica se sono selezionati tutti i campi nell'istruzione SQL, ad esempio:
SELECT * FROM ...				
Inoltre, il problema non si verifica all'interno di un file EXE compilato.
Cause
Si tratta di un problema all'interno dell'IDE di Visual Basic a partire da service pack 3.
Informazioni

Procedura per riprodurre il comportamento

  1. Creare un foglio di calcolo in Microsoft Excel 97 o Microsoft Excel 2000 e inserire i seguenti valori nei campi prescribe:
    • A1 = F1
    • B1 = F2
    • C1 = F3

  2. Salvare il foglio di calcolo e creare un DSN punta a esso.
  3. Avviare Visual Basic 6.0 da Visual Studio 6.0 Service Pack 3 o versione successiva.
  4. Creare un nuovo EXE Standard e impostare un riferimento a Microsoft Active Data Objects. Incollare il codice seguente nel form:
    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     WendEnd Sub					
  5. Apportare le modifiche necessarie per la proprietà ConnectionString.
  6. Eseguire il form.
  7. La prima volta che il form viene eseguito, viene visualizzato l'errore; non visualizzato nelle esecuzioni successive.
Errore -2147467259 (80004005)

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 246167 - Ultima revisione: 07/25/2015 12:33:00 - Revisione: 4.0

Microsoft Visual Basic 6.0 Professional Edition, Microsoft ActiveX Data Objects 2.7

  • kbdatabase kbiisam kbprb kbmt KB246167 KbMtit
Feedback