一、CheckQx 这个函数,我走的是另一个方向的,只负责读取权限
'权限检测
Public Function CheckQx(name As String)
 Dim rs1 As New ADODB.Recordset
 'Dim str As String
 Set rs1 = conn.Execute("Select quanxian From yonghu Where name='" & name & "'")
 str = rs1("quanxian")
 
 Const 权限长度 = 12
                '权限字段所需要的最小长度,不足部分用 0 填充
 
 If Len(str) < 权限长度 Then
    str = str & String(权限长度 - Len(str), "0")
 End If
 
 '以下代码移动到 form_main 的 Form_load 中。
 
' Form_main.Text1.Text = str
' '系统管理√
' If Mid(str, 1, 1) = 1 Then
'
    Form_main.toolbar_sys.Enabled = True
' Else
'
    Form_main.toolbar_sys.Enabled = False
' End If
....
二、对于权限判断,
因为你的对控件的权限操作的,所以,设置控件的代码移到
  form_main 的 Form_load 中。 
'设置控件状态代码移至此处
Form_main.Text1.Text = str
 '系统管理√
 If Mid(str, 1, 1) = 1 Then
    Form_main.toolbar_sys.Enabled = True
 Else
    Form_main.toolbar_sys.Enabled = False
 End If
 
 '权限管理√
 If Mid(str, 2, 1) = 1 Then
    Form_main.toolbar_qx.Enabled = True
 Else
    Form_main.toolbar_qx.Enabled = False
 End If
 
 '用户管理√
 If Mid(str, 3, 1) = 1 Then
    Form_main.toolbar_user.Enabled = True
 Else
    Form_main.toolbar_user.Enabled = False
 End If
....
三、再说你原来的代码:
登陆部分:
   '检测权限
  CheckQx (Text_name.Text)
        '如果按你原来的代码,这里设置 Form_main 的属性,就会导致 form_main 隐性加载
  Unload Me
                       '把自己干掉后,因为后面还有需执行的代码,会导致自己又隐性加载
  Unload Form_guanliuser
  Load Form_main
    Form_ = True
         '调试发现,你这句又导致 Form_guanliuser 被隐性加载,并且显示出来了。
总结:逻辑混乱,真的属于初学者。对于整个系统的实现,没有任何规划,而是想到那里做到哪里,和我新手时一样一样。