외부 파일 이름이 변경 될 때 연결된 테이블을 빠르게 업데이트하는 방법

지금 공유 :

연결된 테이블은 (물론 항상 그런 것은 아니지만) 환상적으로 유용 할 수 있습니다. 특히 정기적으로 변경되는 외부 정보를 처리 할 때 더욱 그렇습니다. 일반적인 예는 공급 업체가 현재 월별 가격 파일에 대한 액세스 권한을 제공하는 경우입니다. 하지만 다음 달에 파일을 발급하고 파일 이름이 "Pricelist-01-01-2016"에서 "Pricelist-01-02-2016"으로 변경되면 어떻게됩니까? 가장 먼저 발생하는 것은 링크가 끊어 질 것이므로 수동으로 업데이트해야합니다. 파일 이름을 변경할 때마다. 그것은 테이블 이름에도 적용됩니다 (물론!). 이 작업을 빠르고 쉽게 수행 할 수있는 방법이 있습니까? 질문 해 주셔서 감사합니다. 계속 읽고 방법을 알아보세요.

장면 설정 – 시나리오

연결된 테이블 관리자이 기사에서는 가상의 시나리오를 사용할 것입니다. 그러나 하나는 여러분이 금방 알아 차릴 것이라고 확신합니다!

Acme Trading은 매달 사용 된 모든 소모품에 대한 업데이트 된 가격표를 DataNumen. 매달 고정식에 지출 할 금액을 알 수 있도록 사무실 관리 데이터베이스에있는 해당 파일에 연결합니다.

파일 이름 변경문제는 파일 형식은 동일하지만 파일 이름은 매달 변경된다는 것입니다. 지난달에는“고정 costs Jan 2017.xls”, 이번 달은“stationary costs 2017년 XNUMX월.xls”.

변경 사항이 많지는 않지만 동의하실 것입니다.하지만 파일 이름을 수동으로 변경하거나 (이전 파일을 삭제하거나 삭제 한 후) 다음 절차를 거치지 않는 한 Access에서 연결된 테이블 관리자를 통해 테이블을 다시 연결합니다.

이 작업을 원하지 않았기 때문에 대신 다음 코드를 만들었습니다. 보시 겠지만 훨씬 더 쉽습니다.

Public Sub UpdateLink (tableName As String, newFileName As String)
    Dim objDB As Database
    Dim objTableDef As TableDef
    Dim newConnect as String
    
    Set objDB = CurrentDb
    Set objTableDef = objDB.TableDefs(tableName)

    'format of the connection string in our case, for example, is:
    ' Excel 5.0;HDR=YES;IMEX=2;DATABASE=File name including path and extension type
    newConnect = "Excel 5.0;HDR=YES;IMEX=2;DATABASE=" & newFileName
    objTableDef.Connect = newConnect
    objTableDef.RefreshLink

    Set objTableDef = Nothing
    Set objDB = Nothing
End Sub

코드 설명

보시다시피 (연결된) 테이블 이름과 함께 테이블이 연결되어야하는 새 파일의 이름을 전달합니다. 파일 이름에는 파일의 전체 경로가 포함되어야합니다. s에서 어려움을 겪을 수있는 한 가지 잠재적 영역tart는 "newConnect"변수에 배치 할 연결 문자열에 대한 올바른 형식을 가져옵니다. 올바른 형식을 찾을 수있는 많은 소스가 있지만 내가 찾은 가장 쉬운 방법 중 하나는 현재 연결된 테이블의 연결 문자열을 보는 것입니다. 이렇게하려면 "Set objTableDef = objDB.TableDefs (tableName)"줄 바로 아래에 다음 줄을 추가하면됩니다.

Debug.Print (objTableDef.Connect)

그러면 코드 편집기의 디버그 / 즉시 창에 기존 연결 문자열이 인쇄됩니다 (아직 표시되지 않은 경우 VBA 코드 편집기 화면에서 CTRL-G를 눌러 코드를 실행하기 전에 직접 실행 창의 표시 여부를 전환합니다.

경고

항상 그렇듯이 위의 코드 스 니펫은 테이블이 연결된 파일을 변경해야 할 때 시간을 절약하는 데 도움이 될 수 있지만 할 수없는 것은 액세스 파일 손상, 따라서 백업을 보관하고 다른 모든 작업이 실패 할 경우 어디로 전환해야하는지 확인하십시오.

저자 소개 :

Mitchell Pond는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. SQL 손상 복구 그리고 엑셀 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM

지금 공유 :

댓글이 닫혀있다.