2011-08-11 6 views
0

MS Access 2007 분할 데이터베이스가 있습니다. 백 엔드 데이터베이스 (accdb)에는 1 개의 테이블이 있습니다. 그것은 서버 공유에 있습니다. 테이블을 업데이트하는 한 사용자는 파일에 대한 전체 NTFS 권한을가집니다. 여러 프런트 엔드 사용자는 파일에 대한 NTFS 읽기 액세스 권한을 갖습니다. 프런트 엔드 데이터베이스 (accdb)에는 쿼리와 백 엔드 데이터베이스 파일에 대한 링크가 들어 있습니다. 각 프런트 엔드 사용자에게는 프런트 엔드 데이터베이스의 로컬 복사본이 있습니다.2007 데이터베이스 액세스 문제 분할

여기에 문제가 있습니다. 백 엔드 데이터베이스를 업데이트해야하고 프런트 엔드 사용자가 프런트 엔드 데이터베이스를 여는 경우 - 백 엔드 데이터베이스는 읽기 전용입니다. 모든 프런트 엔드 사용자가 데이터베이스의 로컬 복사본을 닫으면 백 엔드 데이터베이스를 업데이트 할 수 있습니다. 그러나 백 엔드 파일을 열면 (업데이트 중임) 프런트 엔드 사용자가 데이터베이스의 로컬 복사본을 엽니 다. 쿼리를 실행할 수 없습니다.

프런트 엔드 사용자는 언제든지 데이터베이스의 로컬 복사본을 열고 쿼리를 실행할 수 있으며 언제든지 백 엔드 데이터베이스를 열고 업데이트 할 수 있습니다. 이것을 할 수있는 방법이 있습니까? 백 엔드 데이터베이스를 업데이트 할 때 사용자가 쿼리를 실행할 수 없으면 매우 실망합니다. 프런트 엔드 사용자가 쿼리를 실행하는 경우 백 엔드 데이터베이스는 읽기 전용 액세스로만 열 수 있습니다.

감사합니다, 톰

+1

"updated"를 사용하면 구조가 변경된다는 의미입니까? – Jacob

+0

액세스 권한? –

답변

0

당신이 기록을 입력하고, 테이블 구조를 변경하지 않는 '업데이트'는 무엇을 의미하는 경우 - 당신은 그들이 단지 기록을 잠글 수 있도록 양식의 잠금 유형을 변경 할 수 있어야한다 업데이트되는 전체 테이블 대신 업데이트됩니다. 이상적으로는 양식 및 보고서를 쿼리에 기반한 것인가?

더 많은 작업을 수행하려는 경우 SQL Server Express를 사용하면 더 도움이 될 것입니다. Microsoft를 통해 무료로 제공되는 제품으로 SQL Server의 전체 기능 집합이 필요없는 다중 사용자 응용 프로그램을 작성할 때 편리합니다. 이렇게하면 언제 테이블을 사용하여 누가 무엇을 할 수 있는지를보다 세밀하게 제어 할 수 있으며 전반적인 성능에 추가적인 이점을 얻을 수 있습니다.