Foxtable(狐表)用户栏目专家坐堂 → 请教录入人员加载权限问题。


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

主题:请教录入人员加载权限问题。

美女呀,离线,留言给我吧!
wymoonwalker
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
请教录入人员加载权限问题。  发帖心情 Post By:2014/7/23 9:38:00 [只看该作者]

 请教大师,设计了一个表试用的时候发现一个问题。当时设计的表登陆用户为个人,且每个人分属不同的组,即每个分组里面只有一个人。所以引用的类似如下代码。个人登陆时只加载当前用户录入的行。

 

If User.Name = "张经理" Then
    DataTables("订单").LoadFilter = ""
Else
   
DataTables("订单").LoadFilter = "业务员 = '" & User.Name & "'"
End
If
DataTables
("订单").Load()

 

现在发现,有一个组里需要两个人同时录入。但不想以分组的名称登陆。想达到个人用户登陆时加载所在组的所有数据,但只能编辑当前用户的数据,组里其他人录入的数据只能查看不能编辑。这样代码如何修改?


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


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

If User.Group= "某组" Then
    DataTables("订单").LoadFilter = ""
Else
    
DataTables("订单").LoadFilter = "用户组 = '" & User.Group "'"
End
 If
DataTables
("订单").Load()


然后在PrepareEdit 事件


 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/7/23 10:02:00 [只看该作者]

代码里的“用户组”必须得在表里有这一列吗?不然是不是不能引用

 


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


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

不然就没有依据可判断了啊

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/7/23 10:07:00 [只看该作者]

我以为在用户管理里面设置好分组就可以了,⊙﹏⊙b汗。试试看

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/7/23 10:35:00 [只看该作者]

 多谢Bin大师!前面的设置好啦。加载已经没问题了。

 有一个表问题总是解决不了。表编辑前PrepareEdit中我设置用户只能编辑登陆用户录入的行。用如下代码。

If e.Row("业务员") <> User.Name Then
    e.Cancel =
True
End If

 

但是“经理”组设置是加载全部行的,这样没有一条是经理编辑的,经理登陆后就无法点“审批”了。这个如何修改呢


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


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

If e.Row("业务员") <> User.Name andalso User.Name <> "经理" Then 
    e.Cancel = 
True
End If

如果经理是用户组

If e.Row("业务员") <> User.Name andalso User.Group<> "经理" Then 
    e.Cancel = 
True
End If

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/7/23 10:45:00 [只看该作者]

非常非常感谢!

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2014/7/23 11:01:00 [只看该作者]

还要请教大师,我要增加一个用户组“管理层”。加载时与组“市场部”一样,加载所有表格。加载代码

If User.Group = "市场部"andalso User.Group =  "管理层"Then
    DataTables("合同台帐").LoadFilter = ""
    DataTables("合同管理明细").LoadFilter = ""
    DataTables("其他合同").LoadFilter = ""

这样不对吗?为什么“管理层”用户加载不出来呢?


 


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


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

If User.Group = "市场部" orelse User.Group =  "管理层"Then

 回到顶部
总数 20 1 2 下一页