• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス2007でADOは使えないのでしょうか?)

アクセス2007でADOは使えないのでしょうか?

このQ&Aのポイント
  • アクセス2007でADOは使用できないのでしょうか?デスクトップにあるDatabase1.accdbを開くために、Microsoft ActiveX Data Objects 2.8 Libraryを参照設定で選択しようとしました。しかし、実行時エラーが発生し、データベースの形式を認識できませんでした。再起動しても同様のエラーが発生します。ADOは2007では使用できませんか?
  • アクセス2007でADOを使用できるのか疑問です。デスクトップ上のDatabase1.accdbファイルを開くために、ツールの参照設定でMicrosoft ActiveX Data Objects 2.8 Libraryを選択しようとしましたが、実行時エラーが発生しました。エラーメッセージによると、データベースの形式を認識できないとのことです。同じエラーが再起動しても続きます。ADOは2007では使えないのでしょうか?
  • アクセス2007ではADOが使用できないのでしょうか?デスクトップ上のDatabase1.accdbを開くために、Microsoft ActiveX Data Objects 2.8 Libraryを参照設定しようとしましたが、実行時エラーが発生しました。エラーメッセージによると、データベースの形式を認識できないとのことです。再起動しても同じエラーが発生します。ADOは2007で使用できないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

ファイル形式がACCDBなどのAccess2007以降のモノでしたら "Provider=Microsoft.Jet.OLEDB.4.0;" を "Provider = Microsoft.ACE.OLEDB.12.0;" にしてください。 また、デザイン編集中のオブジェクト(フォーム・レポート・マクロ・モジュール)を 保存してから行わないと、(最適化か再起動が確実) ・・・がデータベースを開けない状態、またはロックできない状態・・ のエラーになります。 自身を開くのなら cn.open・・・・を Set cn = currentproject.connection でもいいですね。この場合ならデザインを編集中でも上記エラーにはなりません。

bkshfu
質問者

お礼

ご回答ありがとうございます。 最初 -------------------------------------------------------------------------------- cn.Open "Provider=Microsoft.Jet.OLEDB.12.0;" & "Data Source= " & CurrentProject.FullName -------------------------------------------------------------------------------- をやってみたところ、 「実行時エラー 3706 プロバイダが見つかりません。正しくインストールされていない可能性があります。」 というエラーになってしまいましたが、 よく見てみたら、jetもACEにしないといけないのですね。 -------------------------------------------------------------------------------- Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Set cn = CurrentProject.Connection rs.Open "テーブル1", cn, adOpenKeyset, adLockOptimistic -------------------------------------------------------------------------------- でもうまくできました! ありがとうございました。大変参考になりました。

関連するQ&A