您目前已離線,請等候您的網際網路重新連線

PRB: 自動分頁對 Excel XLS 第一次開啟 ADODB 資料錄集的順序錯誤

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:246167
徵狀
使用 Excel/ODBC/ISAM 驅動程式開啟 Microsoft Excel 試算表從內 Visual Studio 6.0 Service Pack 3 (或更新版本) 中的 Visual Basic 整合式開發環境 (IDE) 會產生下列執行階段錯誤:
執行階段錯誤 '-2147467259 (80004005)': [Microsoft] [ODBC Excel 驅動程式] 選取作業系統不支援的 Collating 序列
之所以發生這個問題,每次您執行 Visual Basic IDE 中的程式碼。

附註沒有發生此錯誤,如果所有欄位中被都選取在 SQL 陳述式,例如:
SELECT * FROM ...				
參閱,這個問題不會發生在已編譯的 EXE 內。
發生的原因
這是以 Service Pack 3 開始在 Visual Basic IDE 中的問題。
其他相關資訊

重製行為的步驟

  1. 在 Microsoft Excel 97 或 Microsoft Excel 2000 中建立試算表,並將下列值放在 prescribe 欄位:
    • a1 = f1
    • b1 = f2
    • c1 = f3

  2. 儲存試算表,並建立一個 DSN 指向它。
  3. 啟動 Visual Basic 6.0 中從 Visual Studio 6.0 Service Pack 3 或更新版本。
  4. 建立新的標準執行檔,並設定 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     WendEnd Sub					
  5. [ConnectionString 進行必要的變更。
  6. 執行表單。
  7. 表單執行,第一次錯誤就會出現 ; 它不會出現在後續的回合。
錯誤-2147467259 (80004005)

警告:本文為自動翻譯

內容

文章識別碼:246167 - 最後檢閱時間:06/24/2004 19:59:14 - 修訂: 3.1

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

  • kbmt kbdatabase kbiisam kbprb KB246167 KbMtzh
意見反應
"; var Ctrl = ""; document.write("