如何以ms访问形式

时间:2018-04-17 19:21:48

标签: access-vba ms-access-2013

我有这个项目,我必须使用登录和根据用户所在的不同访问级别制作程序。所以我制作了登录表单,之后我有了这个表单,其中有三个子表单,每个标记为level_1-3。我们的想法是,如果用户具有访问级别1,则将禁用两个子表单,并且仅启用第一个表单。

我使用的代码看起来像这样

If Not rs.EOF Then
        Acesslevel = DLookup("[Access_level]", "managers_data", "username.Value")
        MsgBox " Welcome " & username.Value & ". Acess level " & Acesslevel & " Granted!!"
        DoCmd.Close
        If Acesslevel = 1 Then 
            DoCmd.OpenForm "Home"
            x
        If Acesslevel = 2 Then 
            DoCmd.OpenForm "Home"
            y
        If Acesslevel = 2 Then 
            DoCmd.OpenForm "Home"
            z

所以我的问题是我应该在x的位置插入什么代码,以便两个子表单(子表单level_2和level_3被禁用,level_1被启用),同样的问题适用于y和z。表格的名称是家。我正在使用ms access 2013.任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

可能是:

<snip>
DoCmd.Close

DoCmd.OpenForm "Home"
Forms!Home!SubformControlX.Enabled = False
Forms!Home!SubformControlY.Enabled = False
Forms!Home!SubformControlZ.Enabled = False

Select Case Acesslevel
    Case 1 
        Forms!Home!SubformControlX.Enabled = True
    Case 2
        Forms!Home!SubformControlY.Enabled = True
    Case 3 
        Forms!Home!SubformControlZ.Enabled = True
End Select