#111 | Connectプロパティを使ったテーブルの再リンク | VBA | |
リンクテーブルのリンク元データベースを変更したい場合、いちばん簡単な方法はDocmdオブジェクトの"TransferDatabaseメソッド"に"acLink"定数を指定して実行することです。しかし、テーブルの再リンクを行うには別の方法もあります。ここで紹介する方法は、テーブルのリンク情報が格納されているプロパティ「Connect」を直接更新する方法です。 リンクテーブルのプロパティウィンドウを開いてみて下さい。 説明欄のところを見ると、リンク元のデータベースファイルのフルパスとテーブル名が"DATABASE="で始まる文字列式で表示されているのが分かると思います。これがリンクテーブルのリンク情報です。この文字列を直接書き換えることによってリンク元を変更します。 次のコードでは、現在のリンク元「C:\My Documents\db1.mdb」をサーバー"MyServer"の共有名"DATA"にある"db2.mdb"に切り替えます。些細なことですが、Connectプロパティに指定する文字列の先頭にある";"を忘れないようにして下さい。テーブルのプロパティウィンドウではこの";"は表示されていませんが、VBAでこれを操作する場合にはこれが抜けているとエラーとなります。 Dim dbs As Database
Dim tdf As TableDef Set dbs = CurrentDb Set tdf = dbs.TableDefs("生徒名簿") With tdf .Connect = ";DATABASE=\\MyServer\DATA\db2.mdb;TABLE=生徒名簿" .RefreshLink End With |
|||
|
Copyright © T'sWare All rights reserved |