以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教录入人员加载权限问题。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=54164)

--  作者:wymoonwalker
--  发布时间:2014/7/23 9:38:00
--  请教录入人员加载权限问题。

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

 

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

 

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


--  作者:Bin
--  发布时间:2014/7/23 9:41:00
--  
If User.Group= "某组" Then
    DataTables("订单").LoadFilter = ""
Else
    
DataTables("订单").LoadFilter = "用户组 = \'" & User.Group "\'"
End
 If
DataTables
("订单").Load()


然后在PrepareEdit 事件


--  作者:wymoonwalker
--  发布时间:2014/7/23 10:02:00
--  

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

 


--  作者:Bin
--  发布时间:2014/7/23 10:05:00
--  
不然就没有依据可判断了啊
--  作者:wymoonwalker
--  发布时间:2014/7/23 10:07:00
--  
我以为在用户管理里面设置好分组就可以了,⊙﹏⊙b汗。试试看
--  作者:wymoonwalker
--  发布时间:2014/7/23 10:35:00
--  

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

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

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

 

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


--  作者:Bin
--  发布时间: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
--  发布时间:2014/7/23 10:45:00
--  
非常非常感谢!
--  作者:wymoonwalker
--  发布时间:2014/7/23 11:01:00
--  

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

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

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


 


--  作者:Bin
--  发布时间:2014/7/23 11:02:00
--  
If User.Group = "市场部" orelse User.Group =  "管理层"Then