2017-10-30 19 views
1

MS Access에서 로그인 폼을 설계했습니다. 다른 사용자 역할을했고 다른 사용자 로그인에 대해 다른 컨트롤을 표시하려고합니다. 예를 들어 관리자가 로그인 한 경우 컨트롤이 달라야하며 일반 사용자는 다른 컨트롤을 사용할 수 있어야합니다.다른 사용자의 다른 컨트롤 표시/숨기기 MS Access Form

Private Sub Btn_SignIn_Click() 

IF Me.Txt_UserID.Value = "admin" AND Me.Txt_Password = "123admin" 
           AND Me.Cmbo_UserRole.Value = "DBA" 
THEN 

    MsgBox "Welcome to RMS", vbOKOnly, "Logged in as Admin!" 

    DoCmd.OpenForm "Main_Form" 
    --How can I show/hide controls here at Main_Form 
End If 

Main_Form 다른 컨트롤이 있습니다,하지만 난 Btn_SignIn_Click() 내부 Main_Form 컨트롤에 액세스 할 수 없습니다 해요 :

다음과 같이 내가 클릭에 로그인의 버튼에 대한 작성한 VBA 코드가 (이 코드는 Login_Form입니다) 기능. 따라서 컨트롤을 표시하거나 숨길 수 있습니다. 이러한 컨트롤을 많이가있는 경우 사용자가 관리자인지 아닌지

답변

0
with forms("main_form") 
    !control1.visible = true 
    !control2.visible = true 
end with 

, 당신은 또한

for each ctl in form_main_form 
    ctl.visible = true 
next ctl 
0

당신은 유효성을 검사하는 프로 시저를 만들 수 있습니다 사용할 수 있습니다. 예를 들어 는 :

Private Sub Main_Form_Load(UserLevel as String) 

    If UserLevel = "admin" Then 
    Your code here to show controls. 
    End If 
End Sub 

난 단지 관리자에 의해 사용되어야한다 기본적으로 컨트롤을 숨기는 것이 좋습니다.

Passing parameters between forms in MS Access

:

그런 다음 당신은 다른 질문의 다른 해석으로 매개 변수를 보내는 사용자 정의 폼을 호출 할 수 있습니다