设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1355|回复: 2

[与其它组件] 如何获取用户所属的组?

[复制链接]
发表于 2003-7-29 20:17:00 | 显示全部楼层 |阅读模式
我想根据登陆的用户,判断他是否属于某个工作组,再给他相应的菜单
如何编程实现?请高手赐教
谢谢!
 楼主| 发表于 2003-7-30 01:28:00 | 显示全部楼层
已经解决!与大家一起分享一下,有错误请指教
'/**    function CheckUserInGroup **/
'/**    author:阳荣辉             **/
'   入口参数:UserName
'   出口参数:0-没有所属的组 1-属于Admin组
'            2-属于组
'   功能:确定用户是否属于某个组,如:admins, users
'此函数需要使用一个管理员权限的用户,此处用的是Guan.zejian,引用时请更改
'语句:Set wk = DBEngine.CreateWorkspace("", "Guan.zejian", "123789")
'                                             ~~~~~~~~~~~user~~~~~~password
'/**********************************/


Function CheckUserInGroup(UserName As String) As Integer
On Error GoTo CheckUserInGroup_Err
   
    Dim wk As DAO.Workspace, Ur As DAO.User, i As Integer, Found As Boolean
    CheckUserInGroup = 0
    Found = False
    Set wk = DBEngine.CreateWorkspace("", "Guan.zejian", "123789")
    '//要特别注意上面一句,必须使用拥有数据库管理权限的用户名和密码打开工作区!
   
    '//下面一段是查找用户名是否存在,不存在出错报告。
     
    For i = 0 To wk.Groups.Count - 1
        If wk.Users(i).Name = UserName Then
            Set Ur = wk.Users(i)
            Found = True
            Exit For
        End If
    Next i
   
    If Not Found Then
        MsgBox "'" & UserName & "' 不是一个有效的用户名!", _
                   vbExclamation, "access"
        CheckUserInGroup = 0
        Exit Function
    End If
   
    '//确认用户是否属于某个组
    For i = 0 To Ur.Groups.Count - 1
        If Ur.Groups(i).Name = "Admins" Then
            CheckUserInGroup = 1
        End If
        
    Next i
   
    'CheckUserInGroup = True
    'Exit Function
CheckUserInGroup_Exit:
    Exit Function
   
CheckUserInGroup_Err:
    MsgBox " create workspace false,please keep user 'guan.zejian' exist and have admin power!", _
                 vbExclamation, "access"
    'MsgBox Err.Description
    CheckUserInGroup = 0
End Function


[此贴子已经被作者于2003-7-30 14:12:54编辑过]

发表于 2003-7-30 18:42:00 | 显示全部楼层
取得当前用户的组名:
debug.Print  dbengine.Workspaces(0).Users("").Groups(0).Name
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-14 14:04 , Processed in 0.115148 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表