現在オフラインです。再接続するためにインターネットの接続を待っています

[PRB] Access 2000 または Access 2002 にアップグレードするとエラー "データベースの形式を認識できません。" が発生する

現象
Access 2000 データベースまたは Access 2002 データベースにアクセスしようとすると、実行している Visual Basic プログラム内で以下のエラーのいずれかが発生することがあります。

Microsoft ActiveX データ オブジェクト (ADO) または ADO データ コントロールを使用している場合、次のエラー メッセージが表示されます。
実行時エラー '-2147467259': データベースの形式 'XXX' を認識できません。
Data Access Objects (DAO) または DAO 汎用データ コントロールを使用している場合、次のエラー メッセージが表示されます。
実行時エラー '3343': データベースの形式 'XXX' を認識できません。
原因
Access 2000 と Access 2002 では、Jet 4.0 エンジンを使用して、Jet 4.0 形式のデータベース ファイルが作成されます。Jet 3.5 のコンポーネントでは、Jet 4.0 形式は認識されません。
  • ADO を使用している場合、Microsoft.Jet.OLEDB.3.51 プロバイダ経由で Access 2000 データベースまたは Access 2002 データベースに接続しようとすると、エラー -2147467259 が発生します。
  • DAO を使用している場合、Microsoft DAO 3.51 Object Library を使用すると、エラー 3343 が発生します。
  • DAO 汎用データ コントロールは、Access 2000 データベースまたは Access 2002 データベースに対しては機能しません。この資料の「解決方法」に記載されている手順に従って使用しない限り、常にエラー 3343 が発生します。このエラーは、DAO 汎用データ コントロールが Jet 3.51 に基づいており、Jet 3.51 (またはそれ以前の) データベース形式のみが認識されることが原因で発生します。
解決方法
この問題を解決するには、次のいずれかの方法を使用します。
  • Visual Studio Service Pack 4 以降をインストールします (データ コントロールを使用している場合、Connect プロパティの値を Access 2000 に設定します)。
  • ADO (または ADO データ コントロール) の場合、Microsoft.Jet.OLEDB.4.0 プロバイダを使用します。
  • DAO の場合、Microsoft DAO 3.6 Object Library への参照を追加します。
  • 汎用データ コントロールを使用する場合、DAO 3.6 レコードセットを開いてから、そのレコードセットを次のように汎用データ コントロールのソースとして割り当てます。
    Option ExplicitPrivate daoDB36 As DatabasePrivate rs As DAO.RecordsetDim sPath As StringPrivate Sub Form_Load()sPath = _"C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"Set daoDB36 = DBEngine(0).OpenDatabase(sPath)Set rs = daoDB36.OpenRecordset("Customers")Set Data1.Recordset = rsEnd Sub					
  • この問題は、Visual Basic Service Pack 4 で対処されています。新しい値 (Access 2000) が Connect プロパティに追加され、DAO データ コントロールで Access 2000 データベースを開くことができます。
状況
この問題は、Visual Studio 6.0 Service Pack 4 で修正済みです。Visual Studio Service Pack の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
194022 [VS60] SP5: よく寄せられる質問 (FAQ)

194295 [VS60] Service Pack がインストール済みか確認するには
最新の Visual Studio Service Pack をダウンロードするには、次のマイクロソフト Web サイトを参照してください。
関連情報
Jet 4.0 の詳細については、Access 2000 のドキュメントを参照してください。

ADO と DAO の詳細については、Visual Basic のドキュメントを参照してください。

詳細については、Visual Basic と共に提供される MSDN ライブラリで、"Unrecognized Database Format" というキーワードによる検索を行ってください。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 238401 (最終更新日 2004-06-29) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
error message -2147467259 3343
プロパティ

文書番号:238401 - 最終更新日: 07/21/2004 06:49:00 - リビジョン: 3.0

  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • kbtophit kbjet kbprb kbctrl kbpubtypekc kbmsccsearch KB238401
フィードバック