PRB: Разбор по копиям последовательности Ошибка открытия ADODB записей первом запуске Excel XLS

Переводы статьи Переводы статьи
Код статьи: 246167 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Открытие электронной таблицы Microsoft Excel из в Visual Basic в Visual Studio 6.0 с пакетом обновления 3 (или более поздней версии) интегрированной среды разработки (IDE) с помощью драйвера ODBC-Excel-ISAM создает следующую ошибку во время выполнения:
Ошибка во время выполнения "-2147467259 (80004005)": [Microsoft][Драйвер ODBC Microsoft Excel]Выбранная последовательность сортировки не поддерживается операционной системой
Эта проблема возникает при каждом выполнении кода в интегрированной среде разработки Visual Basic.

ПРИМЕЧАНИЕ Эта ошибка возникает, если все поля выбраны в инструкции SQL, например:
SELECT * FROM ...
				
Кроме того эта проблема не возникает в скомпилированном EXE.

Причина

Это проблема в интегрированной среде разработки Visual Basic, начиная с пакета обновления 3.

Дополнительная информация

Действия для воспроизведения поведения

  1. Создание электронной таблицы в Microsoft Excel 97 или в Microsoft Excel 2000 и установите следующие значения в полях prescribe:
    • A1 = F1
    • B1 = F2
    • C1 = F3

  2. Сохранить электронную таблицу и создать имя источника данных, указывая на него.
  3. Для запуска Visual Basic 6.0 с пакетом обновления 3 (Sp3) для Visual Studio 6.0 или более поздней версии.
  4. Создайте новый стандартный exe-ФАЙЛ и установить ссылку на активные объекты данных Microsoft. Вставьте следующий код в форму:
    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. Внесите необходимые изменения ConnectionString.
  6. Запустите форму.
  7. При первом запуске формы появляется сообщение об ошибке; он не отображается в последующих запусков.

Свойства

Код статьи: 246167 - Последний отзыв: 5 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft ActiveX Data Objects 2.7
Ключевые слова: 
kbdatabase kbiisam kbprb kbmt KB246167 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:246167

Отправить отзыв

 

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