EXCEL2019(64bit) EXCEL2003で作成したマクロを実行すると実行時エラー 3706

お世話になります。

最近購入したパソコンでExcel2003で作成したVBAマクロを実行するとエラーになります。

 実行時エラー '3706'

 プロバイダーが見つかりません。正しくインストールされていない可能性があります。

このエラーが発生するのが、ExcelからAccessのデータベースにアクセスする箇所です。

 myCon.Open G_File_Name ← "File Name=C:¥user01.udl”

 user01.udlの内容は次のようになっています。

  Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=ファイル名.mdb;Persist Security Info=False

 この内容でExcel2019 32bit版では動作したのですが、64bit版で動作させるにはどうしたらよいのでしょうか?

Microsoft.Jet.OLEDB.4.0 の 64ビット版が存在しない(そもそも Microsoft から提供されていない)からでしょう。

そのままでは 64 ビット版で動作させることはできないので、 OLEDB プロバイダーを変更したコードに改修するか、32ビット版 Office 環境で実行するか、いずれかでしょう。

参考:64bit版Windowsでの「Microsoft.Jet.OLEDB.4.0」について - Qiita

1 人がこの回答を役に立ったと思いました。

·

この回答が役に立ちましたか?

お役に立てず、申し訳ございません。

素晴らしい! フィードバックをありがとうございました。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。

> Excel2003で作成したVBAマクロ

> 実行時エラー '3706'
> プロバイダーが見つかりません。正しくインストールされていない可能性があります。

> このエラーが発生するのが、ExcelからAccessのデータベースにアクセスする箇所です。

> Provider=Microsoft.Jet.OLEDB.4.0;

Jet( Access 2003 以前で使用されていた古いデータベースエンジン)の
OLE DB プロバイダーは 32 ビット版のみ提供されている(64 ビット版は存在しない)ため、
64 ビット版の Office では使用出来ません。

製品版 Access、または Access データベースエンジンの再頒布コンポーネント
(の 64 ビット版)が既にインストールされている場合は、
Provider パラメータを次のように変更して下さい。

--------------------------------------------------

Provider=Microsoft.ACE.OLEDB.12.0;

--------------------------------------------------

24 ユーザーがこの回答を役に立ったと思いました。

·

この回答が役に立ちましたか?

お役に立てず、申し訳ございません。

素晴らしい! フィードバックをありがとうございました。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。

 
 

質問情報


最終更新日: 2025年3月18日 表示数 21,010 適用先: