access Accessでリンクテーブルのリンク先を同

access Accessでリンクテーブルのリンク先を同。情報は絶対パス形式で記憶されるので無理です。Accessでリンクテーブルのリンク先を同じフォルダ内にあるエクセルファイルに
相対パスでリンクしたいと考えています
しかしやり方が分からず困っております そういったことは可能なのでしょうか
もし可能でしたら方法を教えて頂けないでしょうか

宜しくお願いします リンクテーブルのリンク先変更。のリンクテーブルマネージャーを開いて。リンクテーブルのリンク先を
変更する方法です。リンク先のパスを確認することもできますし。更新したい
リンクテーブルのチェックボックスをクリックしてオンにするだけaccess。は 今 開いてるアクセスと同じパスを利用してるわけです今 この場合 今開い
てるアクセスと外部ファイルが同じフォルダ内であればです /
//デスクトップ/ を 相対パスにすると

他の。このインポート操作では。既存のテーブルまたはオブジェクトに対する上書きや
変更は行われません。 インポート先のデータベースにソース オブジェクトと同じ
名前のオブジェクトが既に存在する場合は。インポート オブジェクト名に数字
。リンクテーブルを作成する。背景には。貰った元データのフィールドの数や構成が変わっているかもしれない
という考えがあります。 送ってくる先も引継ぎやシステムの変更などで。必ず
同じものを送ってくるとは限りません。 下手をT'sWare。下記の例では。「/テスト/」フォルダ内にある3つのデータベースファイル
について。その中のすべてのリンクテーブルのリンク先を「/テスト/
」に切り替えています。 またその際。”3つのデータベース
ファイル”

データの取得を相対パスに変えてみた話PowerQuery。エクセルファイルと同じフォルダにあるデータファイルを読み込むのです! 大事
なことなので2回言いました。 次の処理に進みます。 保存先のファイル

情報は絶対パス形式で記憶されるので無理です。フォルダごと移動させて稼働させる状況を想定されているのでしょうか。この手の実現方法としては???ACCESSの起動時に、対象ファイルに対して?存在チェック?リンクチェック?再リンクさせる仕組みを導入すればいいんじゃないでしょうか。↓簡単なのはこんな感じFunction AutoExecModuleDim exlFileName As StringDim lnkTableName As StringexlFileName = /エクセルファイル名lnkTableName = リンクテーブル名If DirCurrentProject.PathexlFileName =Then MsgBox 対象ファイルなし! Application.Quit Exit FunctionEnd IfOn Error Resume NextDoCmd.DeleteObject acTable, lnkTableNameOn Error GoTo 0DoEventsDoCmd.TransferSpreadsheet acLink, 「エクセルバージョン」, lnkTableName, CurrentProject.PathexlFileName, False, End Function↑これは「リンクチェック」を省いており、起動時に毎回 削除→作成 が作動するため、パフォーマンスが悪いと思う。リンク先変更の処理はDAOのTableDefを使うのが正解かもしれない。リンク部分のコードはすでにできているようなので、実行部分だけですが、AutoExecマクロで最初に1回だけ実行するものを書きます。アクションは「プロシージャの実行」です。尚、リンクテーブルの削除でエラーを起こさないようにするには、テーブル定義TableDefが存在するか確認してから削除すれば良いと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です