- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access 外部MDBのリンクテーブルの変更)
Access外部MDBのリンクテーブルの変更
このQ&Aのポイント
- Access2007への移行のため、移行用のmdbを作成し、既存のmdb群のMSysObjectsの変更を試みています。
- VBAを使用して自分のリンクテーブルの接続パスワードを変更することはできましたが、他のMDBを指定してリンクテーブルを変更する方法があるかどうかについて質問です。
- ご協力いただけると幸いです。
- みんなの回答 (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番目)については ヘルプで確認してみてください。
お礼
出来ました! ご丁寧なコード&解説付のご回答ありがとうございました。