• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access 外部MDBのリンクテーブルの変更)

Access外部MDBのリンクテーブルの変更

このQ&Aのポイント
  • Access2007への移行のため、移行用のmdbを作成し、既存のmdb群のMSysObjectsの変更を試みています。
  • VBAを使用して自分のリンクテーブルの接続パスワードを変更することはできましたが、他のMDBを指定してリンクテーブルを変更する方法があるかどうかについて質問です。
  • ご協力いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

現在開いているデータベース自身を指定している「Set dbs = CurrentDb」の 部分を、他のデータベースを指定する形に変更すれば、できると思います。 Dim dbs As DAO.Database Dim tdf As DAO.TableDef '「OpenDatabase」により、他のデータベース(例はCドライブのTest.mdb)を指定 '(「Open~」となっていますが、別ウィンドウに表示されるわけではありません) Set dbs = OpenDatabase("C:\Test.mdb") 'データベースパスワードが設定されている場合は以下の通り(パスワードはaaa) 'Set dbs = OpenDatabase("C:\Test.mdb", , , "MS Access;PWD=aaa") For Each tdf In dbs.Tabledefs   If Len(tdf.Connect > 0 Then     tdf.Connect=";PWD=" & strPWD     tdf.RefreshLink   End If Next '対象データベースを閉じる dbs.Close '念のため、明示的にメモリを解放 Set tdf = Nothing Set dbs = Nothing ・・・以上です。 OpenDatabaseの引数(特に上で省略している2番目と3番目)については ヘルプで確認してみてください。

rariko
質問者

お礼

出来ました! ご丁寧なコード&解説付のご回答ありがとうございました。