- ベストアンサー
ACCESSの初歩的な質問です。
ACCESSの初歩的な質問です。 1.ACCESS2003を使っています。 2.プログラムとテーブルを別ファイルに分割しています 3.プログラムとテーブルファイルはネットワークドライブ上の同一フォルダ上においています。 ここで質問です。 3の場所を、変更すると、つどテーブルのリンク先情報を手作業で変更せねばなりません。 これは煩雑なので、参照先パスを「同一ディレクトリ」として相対的に指定することはできますか? ご教示いただけると幸いです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Left(CurrentDb.Name, InStrRev(CurrentDb.Name, "\", , vbBinaryCompare) - 1) 以上でプログラムファイルがあるディレクトリパスが取得できますので Left(CurrentDb.Name, InStrRev(CurrentDb.Name, "\", , vbBinaryCompare) - 1) & "\テーブル.mdb" とすれば、テーブルファイルのパスが取得できます。 あとは、プログラムファイルの起動時などに、リンクテーブルのリンク先を更新すれば良いです。 以下はリンクテーブルのリンク先を更新するプログラムの一例です。 DoCmd.DeleteObject acTable, "*リンクテーブル名*" DoCmd.TransferDatabase acLink, "Microsoft Access", "*リンク先MDBファイルのパス*", acTable, "*リンクテーブル名*", "*リンクテーブル名*"
その他の回答 (3)
- piroin654
- ベストアンサー率75% (692/917)
一応確認ですが、httpsで始まるネットワーク ではなく、\\で始まるというネットワークという 認識いいのですか。
- layy
- ベストアンサー率23% (292/1222)
環境変数を使えばアクセス側システム内にあるフォルダ記載を修正する必要が無くなります。 環境変数の使用例を確認してみて下さい。環境変数そのものは前からある手法です。 あと、ODBCとかも参考。
- piroin654
- ベストアンサー率75% (692/917)
以下の参照先がヒントになりますか。 http://www.accessclub.jp/bbs2/0014/beginter04798.html