사용자의 액세스를 제한하는 가장 쉽고 간단한 방법은 처음에 액세스 권한을 부여한 응용 프로그램의 특성에 따라 달라집니다.
상황 및 설명을 통해 매크로가 실제로 데이터 테이블의 업데이트/조작을 수행하고 있으며 사용자가 양식을 통해 해당 데이터에 액세스하는 것처럼 보입니까? 대부분의 응용 프로그램에서 양식의 전체 테이블을 표시 할 수 있지만 양식의 디자인 옵션에서는보기를 사용자 정의하고 사용자가 액세스 할 수 있기 때문에 이것은 이상적인 기술입니다.
사용자가 양식을 통해 데이터에 액세스하도록하는 기술을 사용하는 경우 VBA를 사용하지 않고도 테이블의 데이터를 조작 할 수있는 능력을 매우 쉽게 제한 할 수 있습니다. Access에 대한 경험이 제한적이라면 속성 메뉴를 사용하여 변경할 수있는 양식 옵션으로이 액세스를 수정하는 것이 더 쉬울 수도 있습니다. 이렇게하면 "has 모듈"속성을 갖도록 양식을 수정하지 않아도됩니다.
은 당신이 단순히
- 는
- 레이아웃보기 또는 디자인보기 중 하나로 전환
- 를 열고 속성 시트 (당신이 중 하나의 속성을 수정할 수 있습니다) 양식 열기 것이다 읽을 양식 필드를 만들려면 (디자인 리본의 속성 시트 단추를 통해)
- 읽기 전용 필드를 선택하십시오.
- 속성 시트의 데이터 탭에는 "잠김"이라는 속성이 있습니다.이 속성을 "예"로 전환하십시오.
이렇게하면 사용자가 필드를 변경할 수 없습니다.
(그 형태에서) 옵션 2 :
는 사용자가 (안 형태로) 일반 데이터 시트보기에서 테이블을 볼 만 할 경우에 당신은 "OpenTable에"를 사용하는 매크로를 통해이를 공개 할 수 (데이터베이스 개체 목록) 및 데이터 모드를 "읽기 전용"으로 설정하십시오. 중요 : 이렇게하면 사용자가 필드를 편집 할 수 없게됩니다 !! 다른 필드를 편집 할 수있게하려면이 옵션을 사용할 수 없습니다.
HansUp의 솔루션 :
- 선택 "양식"(새 사용자이기 때문에) 중요 당신이 그 양식의 속성 시트에서 다음과 같이 변경해야이 VBA를 사용하려면 을 주목해야 할 객체
- 변경 (속성 시트의 다른 탭)은 "모듈 포함"속성으로 "예"
이 또한 내가 양식 Current 속성에 도착하는 쉬운 방법을 찾을 수 없습니다합니다. 대안은 이벤트 탭의 "On Got Focus"를 사용하여 그가 제안한 VBA 절차를 통해 해당 텍스트 상자의 속성을 "사용 안 함"으로 설정할 수 있습니다.
쿨! VBA는 매우 편리하지만 그렇게 먼 꿈입니다 ... – matt