ところが所定のAccessファイル(*.mdb)を他のフォルダに移動し実行すると以下のエラーメッセージが返されます。
「ODBC Microsoft Access ドライバ ログインの失敗」
恐らくパス名が異なっているために出たエラーだと思いますが修正するにはどうすれば良いでしょうか。
またExcel及びAccessファイルとも配布予定なので相対パスで指定する方法も教えて欲しいです。
※絶対パスへ,相対パスへともに修正方法を教えてください。
使用バージョンはExcel2003,Access2003です。
以上、ご教授お願いします。
以下の内容はレジストリ操作も含むので、自分では確認していません。
その点はご了承ください。
まずEXCELからアクセスするとき、事前にODBCデータソースを登録して
いると思います。
ODBCデータソースに登録すると、結果はレジストリに反映されます。
ユーザーデータソースの場合、
\HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\作成したデーソース名
の、DBQにパスが設定されています。
システムデータソースの場合は
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\作成したデーソース名
です。
このレジストリキーで値のデータに入っている絶対パスを変更したら
どうなるでしょう。
ちなみにEXCELファイルやACCESSファイルを配布したとして、
配布先PC上でODBCデータソースの定義をしておかないといけ
ないと思うのですが。
コメント欄開いてなかったので、再度回答で失礼します。
先の私の回答は忘れてください。
Microsoft Queryの保存場所ですが、デフォルト位置は
C:\Documents and Settings\ユーザーID\Application Data\Microsoft\Queries
です。もしくは自分で保存したディレクトリを見てください。
そこに *.dqy というファイルができています。
これはテキストファイルなので、ファイルを選択してマウス右ボタン
クリックにより、メモ帳なりテキストエディタで編集できます。
この中の、 *.mdb へのパスが書いてある部分を変更すれば大丈夫な
はずです。
なお配布するときは *.xls と *.mdb だけでなく、この *.dqy
ファイルも配布が必要なはずです。
*.dqy内のパス名の変更も行いましたが実際は変わりませんでした。
全く別のところで管理されている様です。
回答有難う御座います。
クライアントにレジストリをいじってもらうのは少し大変な様です。