#363 リンク先のデータベースファイル名を取得するには? VBA

他のデータベースファイルのテーブルをリンクしている場合、そのリンク先データベースファイルのフルパスを取得した場合があります。例えば、そのデータベースファイルのテーブルに直接アクセスしたような場合、あるいはそのデータベースファイルをファイル単位で取り扱いたい場合(ファイルのコピーなど)などが考えられます。

リンク先のデータベースファイル名は、次のようなコードで取得することができます。ここで"得意先"とある部分には、実際にリンクされているテーブル名の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


実行結果:
実行結果
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved