|
マクロですか?
マクロとなると、
TransferDatabase/データベース変換 アクションのTransfer TypeがLink
DeleteObject/オブジェクトの削除 アクション
または、
RunCommand/コマンドの実行 アクションの
acCmdLinkTables
acCmdRemoveTable
あたりを用いることになるのでしょうか。
マクロはほとんど使用しませんので不明です。
VBAなら、
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim TD As DAO.TableDef
Set DB = CurrentDb
Set RS = DB.OpenRecordset("日付テーブル")
Do While Not RS.EOF
'ローカルでのテーブル名でオブジェクトを作成
Set TD = DB.CreateTableDef(RS![テーブル名])
'ローカルテーブルが残ってた場合を考慮して、念のため一旦削除
On Error Resume Next
DB.TableDefs.Delete RS![テーブル名]
On Error GoTo 0
'リンク先データベースの接続情報を設定
TD.Connect = ";DATABASE=C:\Temp\db1.mdb"
'リンク先データベースのテーブル名を設定
TD.SourceTableName = RS![テーブル名]
'作成したオブジェクトをコレクションに追加
DB.TableDefs.Append TD
'クエリ実行
'コレクションからオブジェクトを削除
DB.TableDefs.Delete RS![テーブル名]
RS.MoveNext
Loop
RS.Close
DB.Close
Set TD = Nothing
Set RS = Nothing
Set DB = Nothing
という感じでは如何でしょうか。
|
|