2017-10-30 19 views
1

MS Accessでログインフォームを設計しました。私はさまざまなユーザーの役割を持ち、異なるユーザーログインに異なるコントロールを表示する必要があります。たとえば、管理者がログインしている場合は、コントロールが異なる必要があり、通常のユーザーは異なるコントロールを使用できる必要があります。異なるユーザーの異なるコントロールの表示/非表示MS Accessフォーム

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

関連する問題