PRB: シーケンス エラー開く ADODB レコード セットに対して Excel XLS 初めての照合

文書翻訳 文書翻訳
文書番号: 246167
すべて展開する | すべて折りたたむ

目次

現象

Excel と ODBC または ISAM ドライバーを Microsoft Excel スプレッドシート内で Visual Studio の 6.0 Service Pack 3 (以降) の Visual Basic 統合開発環境 (IDE) からを開くには、次のランタイム エラーが生成されます。
実行時エラー '-2147467259 (80004005)'。[マイクロソフト][Excel Odbc]照合順序は、オペレーティング システムによってサポートされていないを選択します。
Visual Basic IDE 内でコードが実行されるたびにこの問題に発生します。

メモ すべてのフィールド、SQL ステートメントでたとえば選択されている場合、このエラーは発生しません。
SELECT * FROM ...
				
また、この問題は、コンパイル済みの EXE 内では発生しません。

原因

これは、service pack 3 を開始 Visual Basic IDE 内に問題です。

詳細

現象の再現手順

  1. Microsoft Excel 97 または Excel 2000 のスプレッドシートを作成し、prescribe フィールドに次の値を配置します。
    • A1 F1 =
    • B1 = F2
    • C1 = F3

  2. スプレッドシートを保存し、それを指す DSN を作成します。
  3. Visual Basic 6.0 から Visual Studio の 6.0 Service Pack 3 以降を起動します。
  4. 新規の標準 EXE を作成し、Microsoft Active データ オブジェクトへの参照を設定します。次のコードをフォームに貼り付けます。
    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. 文字列内に、必要な変更を確認します。
  6. フォームを実行します。
  7. フォームを実行、時にエラーが表示されます。2 回目以降の実行では表示されません。

プロパティ

文書番号: 246167 - 最終更新日: 2011年7月22日 - リビジョン: 5.0
キーワード:?
kbiisam kbdatabase kbprb kbmt KB246167 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:246167
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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