2016-07-16 3 views
1

회사 서버에 두 개의 Access (2016) 데이터베이스가 있습니다. 데이터베이스 'A'에는 데이터베이스 'B'의 테이블에 연결된 테이블 ('A')을 만들고, 연결된 테이블의 데이터를 사용하여 데이터베이스 'A'의 일부 작업을 수행 한 다음 연결된 테이블을 삭제하는 코드가 있습니다.링크 된 테이블에 액세스 연결 속성이 손상됨 - 수정 (또는 삭제)하는 방법?

이것은 몇 달 동안 완벽하게 작동했지만 며칠 전에 넘어졌습니다.

조사에서 연결된 테이블 ('A')이 삭제되지 않았지만 테이블의 연결 속성이 빈 문자열로 재설정되었음을 확인했습니다. 탐색 창을 통해 링크 된 테이블 ('A')을 삭제하려고하면 'Null의 잘못된 사용'오류가 발생합니다.

코드를 사용하여 '연결'속성을 업데이트/복원하려고 시도했지만 작동하지 않습니다.

이제 테이블을 삭제할 수 없습니다.

누구든지 내가 테이블을 삭제할 수있는 아이디어가 있습니까?

+0

Compact & Repair를 수행 했습니까? – Andre

+0

예,하지만 작동하지 않았지만 .... 아래의 Gord Thompson의 답변을 참조하십시오. –

+0

답변을 수락하면 (http://stackoverflow.com/help/someone-answers)이 질문은 다음과 같이 표시됩니다. 해결됨. – Andre

답변

3

코드를 사용하여 '연결'속성을 업데이트/복원하려고 시도했지만 작동하지 않습니다.

가 나는 .accdb 파일을 해킹하고 Null에 연결된 테이블의 .Connect 속성을 설정하여 문제를 재현 할 수 있었다. 내가 링크를 삭제 할 수 없습니다

  • ...하지만 (나는 "널의 사용이 잘못되었습니다"당신 같은있어), 및

  • 데이터베이스 압축 및 복구는 문제가 해결되지 않았다

  • Option Compare Database 
    Option Explicit 
    
    Sub ReviveBadLink() 
        Dim cdb As DAO.Database 
        Set cdb = CurrentDb 
        Dim tbd As DAO.TableDef 
        Set tbd = cdb.TableDefs("Clients") 
        tbd.Connect = ";Database=C:\Users\Public\Database1.accdb" 
        tbd.RefreshLink 
    End Sub 
    
    :

... 나는 다음과 같은 VBA 코드 링크를 회복 할 수했다

링크가 부활되면 평소처럼 삭제할 수 있습니다.

+0

그게 문제를 해결했습니다. 이제 표가 삭제되었습니다. 고마워, Gord. –

+0

응답을 응답으로 표시하십시오. – dbmitch