如何禁用 ms access 表单中的子表单

How to disable a sub-form in ms access form

我有这个项目,我必须根据登录的用户创建一个具有登录名和不同级别访问权限的程序。所以我制作了登录表单,然后我有了这个表单,它有三个子 -表格,每个表格都标有 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。表格的名称是 home。我正在使用 ms access 2013。任何帮助将不胜感激,谢谢。

可能是:

<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