アタッチ(リンク)テーブルの接続先更新 Hit Counter

対象バージョン : 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"

 

改定履歴


目次へ戻る