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

Anonymous
2020-11-12T08:21:51+00:00

お世話になります。

最近購入したパソコンで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版で動作させるにはどうしたらよいのでしょうか?

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2020-11-12T08:50:01+00:00

    > 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;


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

    20+ 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Hebikuzure aka Murachi Akira 335.8K 評価のポイント MVP ボランティア モデレーター
    2020-11-12T08:46:55+00:00

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

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

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

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

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません