パスがまだ存在しないリンク テーブルを設定するにはどうすればよいでしょうか。
MS Access がインストールされていない顧客環境で最終的に使用するために、Access でリンク テーブルをセットアップする必要があります (Access データベースは、Jet を介してバックエンドとして使用されるだけです)。
お客様のサイトで Jet と DDL を使用して、.mdb 内のテーブルを作成/編集/削除できますが、私が知る限り、DDL を使用してリンク テーブルを作成することはできません。
理論的には、ここ (アクセス権がある場所) にリンク テーブルを作成し、VBA を使用して「無効な」パスを指定することができます (キリマンジャロがネットワーク上に存在しない顧客のサーバーであると仮定します)。
Function SetLinkedTablePath(tableName As String)
Dim cdb As DAO.Database
Set cdb = CurrentDb
cdb.TableDefs(tableName).Connect = ";DATABASE=\\Kilimanjaro\Foo-Data.mdb"
cdb.TableDefs(tableName).RefreshLink
Set cdb = Nothing
End Function
ただし、.RefreshLink
回線はパスを検証しようとするため、ネットワークでは失敗します。
この行をコメント アウトし.RefreshLink
て実行すると、問題なく実行されますが、Access でリンク テーブル マネージャーを確認すると、新しいパスが使用されていません。
これに対する解決策はありますか?マップされたドライブを使用しないことをお勧めします。