2009-05-28 4 views
2

acess에서 체크 박스에 대한 질문이 있습니다.체크 박스를 비밀번호로 보호하는 방법은 무엇입니까?

내 양식과이 상자 중 하나에 4 개의 체크 박스가 있습니다. 정확한 비밀번호 (예 : report1)가 제공된 사용자 만 해당 상자를 확인할 수 있습니다. 관리자 비밀번호로 표시된 체크 박스 옆에 작은 텍스트 상자가 있습니다.

액세스시이 유효성 검사를 설정하는 방법을 모르겠습니다. 확인란을 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동 한 다음 유효성 검사 규칙을 확인했지만 거기에서 어디로 가는지 확실하지 않습니다. 내 VB 코드를 적용하면 될 것입니다 어떤 아이디어를 가지고 있고 포함하고 그 도움이된다면

코드 조각 만약 = 사실 다른 msgbox.show txtpassword.text = "보고서 1" 다음 closedsftleader.yes " 관리 비밀번호

이 코드가 작동하지만 아이디어 것조차 확실하지 경우 경우, "다시

END를 시도하십시오 올바르지 않습니다. 가능할 때 도와주세요. 감사합니다.

+1

액세스 제어의 .Text 속성은 컨트롤에 포커스가있는 경우에만 사용할 수 있습니다. 기본 바인딩 된 필드에 의해 유효성이 검사 된 것과 대조적으로 코드에서 컨트롤에 입력 된 내용을 알고있는 방법입니다. 컨트롤의 OnChange 이벤트와 같이 매우 드문 경우를 제외하고는 일반적으로 사용되지 않습니다. –

답변

2

이 특정 확인란을 잠 그거나 사용 중지 하시겠습니까? 예를 들어 사용자가 아니라 불가능 보이는 체크 박스를 클릭하는 것으로, 또한, 전역 변수 또는 사용자 이름을 참조로 변경할 수있을만큼 쉬운 것, 이해하는

Private Sub Form_Current() 
    Me.closedsftleader.Enabled = (Me.txtpassword = "Report1") 
End Sub 

Private Sub txtpassword_AfterUpdate() 
    Me.closedsftleader.Enabled = (Me.txtpassword = "Report1") 
End Sub 

과 같이 사용하지 않도록 설정하면 간단합니다 .

일반적으로 컨트롤의 태그 속성을 설정하여 사용자 및/또는 암호에 따라 컨트롤을 숨기거나 활성화 할 수 있습니다.

+0

내 코드가이 코드와 매우 유사하여 거의 내가 수행 한 코드입니다. 스 니펫이 아래에 있습니다. Me.txtpassword.값 = "보고서 1"그럼 Me.closedcftLeader.Locked = 거짓 ("올바른 암호를 입력하십시오") 그렇지 있는 MsgBox는 Me.txtpassword.SetFocus Me.closedcftLeader.Locked = 진정한 최종면 최종 하위 – TT1611

1

텍스트 상자에 이벤트를 추가하려면 ("변경된"이벤트라고 생각합니다) 텍스트 상자의 내용에 따라 텍스트 상자를 사용하거나 사용하지 않도록 설정하십시오.

부수적으로 이는 양식의 내용을 보호하기위한 이상한 디자인입니다. 사용자가 강제로 Access 응용 프로그램에 로그인하도록 할 수 있습니다.

+0

Brien에게 감사드립니다. 나는이 매우 이상한 디자인의 본질을 이해하지만 이것이 내가 작업하고있는 첫 번째 부서의 광범위한 데이터베이스이며 많은 것들이 내게 새롭다. 사용자 로그인은 나중에 시간이 지남에 따라 데이터베이스에 통합됩니다. 다시 .. 고마워요. – TT1611

+0

나는 AfterUpdate 이벤트를 사용할 것이라고 말하고 싶습니다. 체크 박스가있는 동안 OnChange 이벤트는 한 번만 발동합니다. 다른 컨트롤에 사용할 좋은 이벤트가 아닙니다. 예를 들어 텍스트 상자의 경우 입력 된 각 문자에 대해 실행되기 때문입니다. 체크 박스에 차이가 없다고해서 AfterUpdate 대신 OnChange를 사용할 충분한 이유가 없습니다. –

1

텍스트 상자에 올바른 암호가 없으면 확인란의 OnClick 이벤트를 처리하고 변경을 허용 할 수 있습니다.

+0

다시 한번 OnClick은 잘못된 이벤트입니다. 클릭에 관심이 없으면 업데이트되는 컨트롤에 관심이 있습니다. 따라서 AfterUpdate는 올바른 이벤트입니다. OnClick은 클릭의 유형에 따라 다른 작업을 수행 할 수 있도록 마우스 오른쪽 버튼 클릭, Shift 키 누르기, Ctrl 클릭 등의 여부를 확인하려는 경우에 유용합니다. –

관련 문제