ACCESSが使える環境なら標準モジュールから
Dim db As DAO.Database
Set db = CurrentDb
db.Execute ("insert into [odbc;dsn=異動先DSNl;uid=異動先ユーザー名;pwd=異動先のパスワード].[移動先テーブル名] select * from [odbc;dsn=異動元DSN;uid=r異動元ユーザー名;pwd=異動元;].[異動元テーブル名]")
Set db = Nothing
か
db.Execute ("select * into [odbc;dsn=異動先DSNl;uid=異動先ユーザー名;pwd=異動先のパスワード].[移動先テーブル名] from [odbc;dsn=異動元DSN;uid=r異動元ユーザー名;pwd=異動元;].[異動元テーブル名]")
などと書けます。この書き方以前は(~2003)クエリとして保存できたのですが、2007以降NGになってしまいました。