2017-11-14 9 views
2

을 테이블을 수정하여 나를 내가 개명으로MS 액세스 - 쿼리 아래

SELECT DISTINCTROW msysobjects.Name, msysobjects.Database, msysobjects.Connect 
FROM msysobjects WHERE (((msysobjects.Type)=6 Or (msysobjects.Type) Like "dsn*")) ORDER BY msysobjects.Database; 

출력

Name     Database        Connect 
Account Transactions C:\Users\Desktop\Database6_be.accdb 
Categories    C:\Users\Desktop\Database6_be.accdb 
Filters     C:\Users\Desktop\Database6_be.accdb 
tblAuditLog    C:\Users\Desktop\Database6_be.accdb 

연결된 모든 테이블과 해당 데이터베이스 경로를 표시 할 수 있도록 연결된 테이블 경로를 변경하는 방법 특정 2 테이블에 대한 데이터베이스, 반면 경로를 수정할 수 없습니다. 테이블을 수정하여 링크 된 테이블 경로를 수정할 수있는 방법이 있습니까?

답변

3

예, 할 수 있습니다 중 하나를 VBA를 통해 그것을 할, 또는 GUI (액세스 2010)를 통해 GUI

을 통해 :

enter image description here

당신은 연결을 변경하려면 다음 VBA 서브를 사용할 수 있습니다 특정 테이블에 문자열 (당신은 과거와 연결 문자열을 모두 입력해야합니다) :

Public Sub ChangeConnection(OldStr As String, NewStr As String) 
    Dim td As DAO.TableDef 
    Dim db As DAO.Database 
    Set db = CurrentDb() 
    For Each td In db.TableDefs 
     With td 
      If .Connect = OldStr Then 
       .Connect = NewStr 
       .RefreshLink 
      End If 
     End With 
    Next td 
End Sub 

또는 다음 하위 메뉴를 사용하여 하나의 특정 표를 변경할 수 있습니다.

Public Sub ChangeTableConnection(Tablename As String, NewStr As String) 
    Dim td As DAO.TableDef 
    Dim db As DAO.Database 
    Set db = CurrentDb() 
    Set td = db.TableDefs(Tablename) 
    td.Connect = NewStr 
    td.RefreshLink 
End Sub 
+0

매력처럼 작동합니다! – useR