-PR-
NTTPCのレンタルサーバー
基本情報技術者講座 28,000円から ★ぶっちぎり宅建ライブ開講★

拡張子.mdbファイルで使っていたモジュールをスピードアップの為に

Access2007の拡張子.mccdb形式に変更した後実行した際

タイトルの通り「データベースの形式”~.accdb”を認識できません。」が出ました。

忘れた頃にまたやりそうなので、健忘録として残しておきます。

エラーが発生している箇所は、ADOでデーターベースに接続しようとしているところ。

————————————————————————————

Set adoCn = CreateObject(“ADODB.Connection”)
Set adors = CreateObject(“ADODB.Recordset”)
‘パスを取得
getDbPath = CurrentDb().Name
getDbPath = Replace(getDbPath, “\”, “/”)
‘接続
adoCn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & getDbPath & “;” ←ココ

————————————————————————————

<原因>

接続しようとしているAccessデーターベースがAccess2007以降の形式(accdb)だった場合、

providerに指定したJETエンジン4.0が対応していなくてエラーになります。

<解決策>

→”Microsoft.ACE.OLEDB.12.0”と書き換えるとOK!

(なお、12.0ドライバは旧mdb形式も開けます)

色々面倒くさいですね。。

関連記事:

  1. ACCESS スピードアップ方法まとめ
  2. 【ACCESS VBA】パラメータが少なすぎます。6 を指定してください。
  3. CSVデータをアクセステーブルにアップロードする
  4. 【Access2007】旧Accessで作ったフォームのボタンが動かない

関連記事はYARPP関連記事プラグインによって表示されています。

Comments are closed.