나는 (* .MDB) 데이터베이스의 디렉토리가 다른 위치에서 여러 가지 다른 * .MDB 연결되어의.Access 2003에서 연결된 테이블 관리자를 쿼리 할 수 있습니까?
우리는 두 개의 파티션으로 하나 개의 파일에서 원본 데이터베이스를 분리했습니다. 디렉토리의 데이터베이스는 원래 데이터베이스 파일 (및 몇 개의 다른 데이터베이스)을 가리 킵니다. 이제 디렉터리의 각 데이터베이스에있는 테이블을 원본 (현재 분할 된) 데이터베이스의 올바른 파티션으로 다시 연결해야합니다.
각 데이터베이스의 연결된 테이블 관리자에서 테이블을 수동으로 다시 연결했지만이 방법은 매우 비효율적이며 연결된 테이블 관리자를 어떻게 든 쿼리 할 수 있다면 쉽게 찾을 수 있습니다. 올바른 테이블 수를 변경했습니다.
연결 테이블 관리자를 조회 할 수있는 방법이 있습니까? VB 또는 심지어 시스템 테이블과 SQL을 사용하여 테이블 이름과 파일 위치를 사용합니까?
주 나는 MS 액세스 2003 파일을 열하고 있지만, MS 액세스 2003을 열고 액세스 2000 형식으로보고하고있다.
당 Remou의 제안은 여기에 내가 테이블을 다시 연결 쓴 일부 코드입니다 :
Sub RelinkLinks()
Dim db As Database
Dim tdf As TableDef
Dim OldLoc As String
OldLoc = ";DATABASE=\\lois\_DB\DB\BE.mdb"
Dim partition1Loc As String
Dim partition2Loc As String
partition1Loc = ";DATABASE=\\lois\_DB\DB\Partition 1\BE.mdb"
partition2Loc = ";DATABASE=\\lois\_DB\DB\Partition 2\BE.mdb"
Set db = CurrentDb
For Each tdf In db.TableDefs
' Only cycle through the locations
' that are equal to the old one...
If tdf.Connect = OldLoc Then
' Debug.Print tdf.Name & ":" & tdf.Connect
Dim whichLoc As String
If tdf.Name = "T_PAR_2_TBL_1" Or tdf.Name = "T_PAR_2_TBL_2" Then
' Only set the tables to partition 2 that were listed as in Partition 2 by the database splitter
Debug.Print "Setting linked table " & tdf.Name & " FROM " & tdf.Connect & " TO " & partition2Loc
whichLoc = partition2Loc
Else
' If the name was not listed as in partition 2, set it to partition 1
Debug.Print "Setting linked table " & tdf.Name & " FROM " & tdf.Connect & " TO " & partition1Loc
whichLoc = partition1Loc
End If
'We will uncomment this when we take the safety off...
'tdf.Connect = whichLoc
'tdf.RefreshLink
End If
Next tdf
End Sub
당신은 테이블을 다시 연결하는이 코드에 대해 어떻게 생각하십니까? – leeand00
괜찮아 보이는 군, 나는 시험하지 않았다. MS Access이므로 사본을 쉽게 실행할 수 있습니다. – Fionnuala
오른쪽. 그게 내가하고있는 일이고, 나는 원래의 DB를 백업했다. – leeand00