アタッチ(リンク)テーブルの接続先更新 |
対象バージョン : 7.0, 97, 2000(MDB), 2002(MDB), 2003(MDB),
2007(ACCDB)
最終更新日 : 2007/02/12
( オリジナル作成日 : 1996/11/22 )
概 要
2つの Access データベース APP.MDB と BE.MDB があり、APP.MDB では BE.MDB のテーブルをアタッチ(リンク)しているものとします。
APP.MDB と同じディレクトリ(フォルダ)に BE.MDB があるものとして、APP.MDB のアタッチ(リンク)先のデータベース情報をプロシージャにより更新する方法です。
手 順
以下のプロシージャを作成します。
Public Function SetConnect () Dim db As DAO.DATABASE Dim lnkPath As String Dim tbd As DAO.TableDef Dim cnt As Integer Set db = CurrentDb For cnt = Len(db.Name) To 1 Step - 1 If Mid(db.Name, cnt, 1) = "\" Then lnkPath = Left(db.Name, cnt) & "BE.MDB" Exit For End If Next For Each tbd In db.TableDefs If Len(tbd.Connect) <> 0 _ And InStr(tbd.Connect, "ODBC;") = 0 Then tbd.Connect = ";DATABASE=" & lnkPath tbd.RefreshLink End If Next db.TableDefs.Refresh End Function
補 足
lnkPath = Left(db.Name, Len(db.Name)
- Len(CurrentProject.Name)) & "BE.MDB"
改定履歴