• 解説

    VBAでテーブルのリンクを行う方法はマクロ(Accessアクション)を使用する方法とDAOを使用する方法があります。

    マクロ(Accessアクション)で行う場合はDoCmd.TransferDatabaseを使いますが、このメソッドだと使えない場合もあったりします。
    たとえば、セキュリティを設定したデータベースなどは権限しだいではリンクできない場合があります。
    DAOを使用した場合はワークスペースを自分で設定できるのでセキュリティを設定したデータベースでもリンクすることが可能です。

    リンクを作成するときはカレントデータベースのTableDefsにリンク元データベースのテーブル情報を設定したTableDefを追加します。

    コード例

    Set TableObject = DatabaseObject.CreateTableDef("テーブル名")
    
    TableObject.Connect = ";DATABASE=パスデータベース名"
    TableObject.SourceTableName = "テーブル名"
    
    TableObjects.Append TableObject
    

    逆にリンクを解除するときはカレントデータベースのTableDefsからTableDefを削除してあげるとよいです。

    コード例

    TableObjects.Delete "テーブル名"
    

説明がわからないなどありましたらお問い合わせでお知らせください。

ここに掲載された情報を使用したことによって発生した、いかなる損害に対しても
管理者である雅は一切責任を負いません。