• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBAでACCESSに接続時にエラーが出ます)

EXCEL VBAでACCESSに接続時にエラーが出ます

このQ&Aのポイント
  • EXCEL VBAでのACCESS接続時にエラーが発生し、他のPCで同じマクロを実行すると「実行時エラー'3706'、プロバイダーが見つかりません。正しくインストールされていない可能性があります。」のエラーメッセージが表示されます。
  • 自分のPCではEXCEL VBAでACCESSにADO接続し、データを抽出できますが、他のPCでは接続エラーが発生します。
  • ACCESSのデータは自分のPCからのみ開くことができる設定になっているが、他のPCでもEXCEL VBAで開く方法を教えて欲しいとのことです。

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

  • ベストアンサー
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

コネクションの文字列が提示されていないので何とも言えません。 {みだりに公開もできないものではありますが} コネクションの文字列に問題があるように思います。 つながるPCとつながらないPCで「UDL」をつくって見たらどうでしょう。 空のファイルをEditorで作ってtest.udlという名前で保存 それをダブルクリックすると接続を確立するためのプログラムが立ち上がりますから そこでプロバイダーなどを選んで「接続テスト」がOKになるようにします。 保存したあとそのファイルをEditorでみると接続文字列が分かると思います。 ウイザード代わりに使うということです。 その後でそれぞれのUDLの内容を比較したら何らかの回答が得られるのではないかと思います。

pegasusv
質問者

お礼

回答有難うございました。 自分のPCも他のPCもoffice2003を使用しているのですが、原因が分かりました。 Provider=Microsoft.ACE.OLEDB.12.0;とoffice2007の設定としていました。教えて頂いた方法で、Provider=Microsoft.Jet.OLEDB.4.0;に変更して他のPCでも動作するようになりました。 自分のPCでは何故動作したかは良く分かりませんが、excel2007のファイルコンバータをインスツールしていたので動作したのかも知れません。 「接続テスト」の手法を教えて頂き、大変参考になりました。 なお、Microsoft.ACE.OLEDBとMicrosoft.Jet.OLEDBの違いを教えて貰えれば嬉しいのですが。 宜しく、お願いします。

その他の回答 (1)

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

>Microsoft.ACE.OLEDBとMicrosoft.Jet.OLEDBの違いを教えて貰えれば嬉しいのですが。 私もその辺は「試行錯誤」に近いものがあります。 SQl-ServerにつなぐときにクライアントがXpとNtがあってうまくいかなくて悩んだ挙句UDLを使う方法を探して何とか作っちゃったという状況なので。

pegasusv
質問者

お礼

皆さんどのように知識を得ているのかなと思っていましたが、試行錯誤しているのですね。 でもUDLを使う方法は、有益ですね。 色々と有難うございました。