我的做法:
把权限放在库中(或其他地方)比如我会在用户登录后放在注册表中。
然后根据不同的权限设置菜单项的visable就可以了。
例子如下:Dim strUserType As String
    Dim lngUserType As Long
    
    strUserType = GetSetting("HygieneMIS", "onUser", "UserType")
    lngUserType = CLng(strUserType)
    
    Select Case lngUserType
        Case 4
            Me.mnuBasicset.Visible = False
            Me.mnuKuchun.Visible = False
            Me.mnuZhigong.Visible = False
            Me.mnuLeader.Visible = False
            Me.mnuS_Y.Visible = False
            Me.mnuS_D.Visible = False
            Me.mnuC_O.Visible = False
            Me.mnu2_1.Visible = False
            Me.mnuC_Y.Visible = False
            Me.mnuC_E.Visible = False
            Me.mnuC_V.Visible = False
            Me.mnuX_O.Visible = False
            Me.mnu2_4.Visible = False
            Me.mnuX_Y.Visible = False
            Me.mnuX_E.Visible = False
            Me.mnuX_J.Visible = False
            Me.mnuX_A.Visible = False
        Case 3
            Me.mnuZhigong.Visible = False
            Me.mnuLeader.Visible = False
            Me.mnuS_Y.Visible = False
            Me.mnuS_D.Visible = False
            Me.mnuB_U.Visible = False
            Me.mnuB_D.Visible = False
        Case 2
            Me.mnuZhigong.Visible = False
            Me.mnuLeader.Visible = False
            Me.mnuS_Y.Visible = False
        Case 1
    End Select---------------
PS:也将菜单分一下类,只控制上级菜单会让工作简单一些。