2017-11-01 9 views
0

회사 네트워크에서 공유되는 Access 데이터베이스를 구축했습니다. 네트워크상의 대부분의 사용자는 Access 2010이 설치되어 있지만 일부는 Access 2016이 있습니다. Access 2016 사용자가 데이터베이스를 연 다음 Access 2010 사용자가 데이터베이스를 열면 Microsoft Excel 16.0 Object Library가 표시 될 때 오류 메시지가 나타납니다 "있어야 할 곳에 없는".최신 버전에서 열면 액세스 참조 라이브러리가 사라짐

일시적으로 '14 .0 라이브러리 '를 선택하여이 문제를 해결할 수 있지만 이후 버전에서 다시 열면 오류가 다시 발생합니다. 이 일을 막기 위해 내가 할 수있는 일이 있습니까?

감사

답변

2

당신은 당신이 문제를 방지하는 데 도움이 late binding를 사용할 수 있습니다. 런타임에 바인딩되는 코드는 적절한 개체 라이브러리와 함께 사용할 수있는 경우 사용할 수 있습니다.

당신은 개체 초기화를 변경해야

Dim excelApp As Excel.Application 
Set excelApp As New Excel.Application 

늦게 바인딩을 사용하는 경우, 인텔리는 사용할 수 없습니다 있습니다

Dim excelApp As Object 
Set excelApp = CreateObject("Excel.Application") 

합니다. 나의 보통 연습은 초기 바인딩을 사용하여 개발하고, 그것이 끝나자 마자 늦게 바인딩으로 변경하는 것이다.

1

분할되지 않은 데이터베이스를 공유하거나 분할 된 데이터베이스의 프런트 엔드를 공유하고 있습니까?

본질적으로 액세스는 다중 사용자이지만 하나는 올바르게 배포해야합니다. 데이터베이스는 2 개의 파일 (리본에있는 기능)으로 분할되어야하며 각 사용자는 공통의 단일 백엔드 파일로 연결되는 자체 프런트 엔드 파일을 가지고 있어야합니다.

그런 다음 사용자 환경에 대해 일단 참조가 설정되면 변경 사항이 없어야합니다.

+0

좋은 지적. 데이터베이스를 분할했지만 모두가 네트워크 폴더에 저장된 프런트 엔드를 사용하고있었습니다. 각 사용자에 대한 프런트 엔드의 로컬 복사본을 만드는 BAT 파일을 만듭니다. 감사 – Leroy