2011-01-26 4 views
1

SSMA를 사용하여 액세스 데이터베이스의 사용자 인터페이스를 계속 사용하면서 액세스 데이터베이스에서 SQL Server로 데이터를 마이그레이션했습니다.연결된 테이블이있는 MS Access에서 SQL Server 데이터베이스 이름을 변경해야합니다.

이제 SQL Server 데이터베이스의 이름을 바꾸어야하지만 이름이 바뀐 데이터베이스를 사용하기 위해 Access 파일을 업데이트하는 방법을 모르겠습니다.

+0

범프. :) 농담이지만, 이것을 알아내는 것이 좋을 것입니다. –

답변

4

Linked Table Manager을 사용할 수 있습니다.

보기 또는 새로 고침

이 절차를 사용하여 볼 수 또는 구조 또는 연결된 테이블의 위치가 변경 될 때 링크를 새로 연결합니다. 연결된 테이블 관리자는 현재 연결된 모든 테이블에 대한 경로를 으로 표시합니다.

  • 테이블에 대한 링크가 포함 된 데이터베이스를 엽니 다.
  • 도구 메뉴에서 데이터베이스 유틸리티를 가리킨 다음 연결된 테이블 관리자를 누릅니다.
  • 새로 고침 할 링크가있는 테이블의 확인란을 선택하십시오.
  • 확인을 클릭하여 링크를 새로 고칩니다.

Microsoft Access에서 테이블이 발견되지 않은 경우, 성공적인 새로 고침을 확인하거나, 당신은 테이블의 새 위치를 지정할 수있는 대화 상자의 선택 새로운 위치를 표시합니다. 선택한 여러 테이블이 지정한 새 위치로 이동 한 경우 연결된 테이블 관리자는 선택한 모든 테이블에 대해 위치를 검색하고 한 단계에서 모든 링크를 업데이트합니다.

은 연결된 테이블

  • 열기 테이블에 대한 링크가 포함 된 데이터베이스 세트의 경로를 변경합니다.
  • 도구 메뉴에서 데이터베이스 유틸리티를 가리킨 다음 연결된 테이블 관리자를 누릅니다.
  • 새 위치에 대해 항상 확인 확인란을 선택합니다.
  • 변경하려는 링크가있는 테이블에 대해 확인란을 선택한 다음 확인을 클릭합니다.
  • 새 위치 선택 대화 상자에서 새 위치를 지정하고 열기를 클릭 한 다음 확인을 클릭합니다.
+0

ODBC 연결 테이블이 SQL Server를 제대로 업데이트하지 않기 때문에 그렇지 않습니다. 나는 모든 테이블 링크를 삭제하고 처음부터 다시 만들 것이다. –

0

VBA에서이를 수행 할 수 있습니다. 이 코드는 "dbo_"로 시작하는 링크 된 테이블을 찾고 이름의 해당 부분을 제거합니다. 필요에 맞게 수정해야합니다. 귀하의 autoexec 매크로 또는 데이터베이스로 시작하는 언 바운드 폼에서 호출하는 것이 좋습니다.

여러 SQL Server 데이터베이스에 연결하는 경우 이제이 솔루션이 작동 할 수 있습니다.

Public Sub subChangeLinkedTableNames() 

    Dim dbCurr As DAO.Database 
    Dim tdfCurr As DAO.TableDef 

    Set dbCurr = CurrentDb() 

    For Each tdfCurr In dbCurr.TableDefs 
     If Len(tdfCurr.Connect) > 0 Then 
      If Left(tdfCurr.Name, 4) = "dbo_" Then 
       tdfCurr.Name = Replace(tdfCurr.Name, "dbo_", "") 
      End If 
     End If 
    Next 


    Set tdfCurr = Nothing 
    Set dbCurr = Nothing 

End Sub 
+0

나는 이것이 테이블의 이름이 아니라 데이터베이스의 이름 인 것으로 이해하는 질문을 어떻게 처리하는지 이해하지 못합니다. TableDef의 이름을 바꾸는 것뿐만 아니라 다른 연결 문자열이 필요합니다. –

+0

데이비드, OP가 정확히 그가 게시 한 것을 의미하는 경우 올바른 것입니다. 나는 그 질문을 오해했다고 생각한다. – HK1

관련 문제