Foxtable(狐表)用户栏目专家坐堂 → 查看表数据权限!


  共有2827人关注过本帖树形打印复制链接

主题:查看表数据权限!

帅哥哟,离线,有人找我吗?
身份不明
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
查看表数据权限!  发帖心情 Post By:2014/11/25 15:11:00 [只看该作者]

财务部门费用申请窗口的afterload代码:

DataTables("费用申请").LoadFilter = "申请人 = '" & User.Name & "'"
DataTables("费用申请").Load() 

每个申请人只能看到自己的数据。但是如果是“总经办”和“财务”的分组用户打开这个窗口是可以看到所有数据的,如何写权限呢?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/25 15:20:00 [只看该作者]

if user.Group <> “总经办” andalso user.Group <> 财务” then
    DataTables("费用申请").LoadFilter = "申请人 = '" & User.Name & "'"
end if
DataTables("费用申请").Load() 

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/25 15:20:00 [只看该作者]

If User.Group = "总经办" OrElse User.Group = "财务" Then

    DataTables("费用申请").LoadFilter = ""

Else

    DataTables("费用申请").LoadFilter = "申请人 = '" & User.Name & "'"

End If

 

DataTables("费用申请").Load() 


 回到顶部
帅哥哟,离线,有人找我吗?
身份不明
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/11/26 9:56:00 [只看该作者]

Bin老师和甜老师,我没说的太清楚。

首先我给他们分了6个组,分别的营销、生产、人事、行政、品保、财务

想分配的权限是每个组的部门经理(用户角色)打开窗口后是可以看到所有数据的,但是组员进来了只能看到自己申请的数据,总经办和财务的都可以看到。

那我的窗口afterload事件该如何写呢?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/26 9:58:00 [只看该作者]

  那你还得给他们分角色啊,比如组员、总经办、财务,判断user的角色而加载不同的数据啊

 回到顶部
帅哥哟,离线,有人找我吗?
身份不明
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/11/26 10:14:00 [只看该作者]

这个功能不知道怎么写,比如营销部的组员角色进来了只能看到他自己填写的表,但是如果营销部的经理角色进来了可以看到所有的本部门的申请。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/26 10:17:00 [只看该作者]

以下是引用身份不明在2014-11-26 10:14:00的发言:
这个功能不知道怎么写,比如营销部的组员角色进来了只能看到他自己填写的表,但是如果营销部的经理角色进来了可以看到所有的本部门的申请。

 

你的用户的结构是怎么写的?分组怎么分;角色怎么分

 

再有,你的数据表里面,只存储了用户名吗?是否有存角色、分组的信息?


 回到顶部
帅哥哟,离线,有人找我吗?
身份不明
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/11/26 10:36:00 [只看该作者]

以下是引用有点甜在2014-11-26 10:17:00的发言:

 

你的用户的结构是怎么写的?分组怎么分;角色怎么分

 

再有,你的数据表里面,只存储了用户名吗?是否有存角色、分组的信息?

我用的是foxtable自带的用户管理,增加了用户数据表。比如人事部 的分组就是人事部,之后用户角色定义了人事专员和人事经理。

想要的权限是人事专员只能看人事专员的数据,人事经理可以看所有的数据。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/26 10:42:00 [只看该作者]

 

[此贴子已经被作者于2014-11-26 10:42:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/26 10:43:00 [只看该作者]

   比如,如果是经理,就这样写

Dim us As String = ""
For Each u As UserInfo In Users
    If u.Group = User.Group Then
        us &= u.Name & "','"
    End If
Next

Dim filter As String = "申请人 in ('" & us.trim(",") & "')"
msgbox(filter)


 回到顶部