他のデータベースファイルのテーブルをリンクしている場合、そのリンク先データベースファイルのフルパスを取得した場合があります。例えば、そのデータベースファイルのテーブルに直接アクセスしたような場合、あるいはそのデータベースファイルをファイル単位で取り扱いたい場合(ファイルのコピーなど)などが考えられます。
リンク先のデータベースファイル名は、次のようなコードで取得することができます。ここで"得意先"とある部分には、実際にリンクされているテーブル名の1つを指定します。TableDefオブジェクトの「Connect」プロパティにはそのリンク先となっているデータベースやテーブルに関する情報が接続文字列として格納されていますので、文字列関数を使ってその中からデータベースファイルのパス情報の部分だけを取り出します。
Dim dbs As Database
Dim tdf As TableDef
Dim strConnect As String
Dim strMDBFilePath As String
Set dbs = CurrentDb
'リンクテーブルの定義情報を開く
Set tdf = dbs.TableDefs("得意先")
'リンクテーブルの接続情報を取得
strConnect = tdf.Connect
'リンク先データベースファイル部分を取り出し
strMDBFilePath = Mid$(strConnect, InStr(strConnect, ";DATABASE=") + Len(";DATABASE="))
MsgBox strMDBFilePath
実行結果:
 |