以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助LoadUserSetting事件代码设置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=9134)

--  作者:红叶
--  发布时间:2011/2/25 10:01:00
--  求助LoadUserSetting事件代码设置

LoadUserSetting事件中,如果用户分组为"财务部"时,只允许编辑"审核标识"和"审核人员"两列

 

[此贴子已经被作者于2011-2-25 10:09:48编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/2/25 10:11:00
--  
For Each dc As DataCol In DataTables("表A").DataCols
   dc.AllowEdit = (dc.name = "审核标记" Or dc.name = "审核人")
Next
 
或者:
 
For Each dc As DataCol In DataTables("表A").DataCols
   if dc.name = "审核标记" Or dc.name = "审核人" Then
      dc.AllowEdit = True
  Else
      dc.AllowEdit = False
Next
 

--  作者:红叶
--  发布时间:2011/2/25 10:54:00
--  

自定义用户管理,我这样设置,在切换用户后代码不起作用呀?

If _UserGroup = "财务部" OrElse _UserGroup = "财务部经理" Then
    For Each dc As DataCol In DataTables("采购订单").DataCols
        If dc.name = "审核_财务审核标识" Or dc.name = "审核_财务审核人员" Then
            dc.AllowEdit = True
        Else
            dc.AllowEdit = False
        End If
    Next
End If


--  作者:红叶
--  发布时间:2011/2/25 11:12:00
--  

最终目的要求:

"采购订单"和"采购订单明细"建立关联,设有一变量Vars("状态")="查阅"时,要求在用户组(自定义)为"财务部"或"财务部经理"时,打开"采购订单"和"采购订单明细"时,除"审核_财务审核标识"和 "审核_财务审核人员" 外的其它列禁止编辑,同时打开"采购订单"的录入窗口"采购率单录入"时,窗口的主表字段和关联明细表(Normal类型Table)也禁用除这两列外的其它列


--  作者:狐狸爸爸
--  发布时间:2011/2/25 11:13:00
--  

自定义用户管理根本就不会触发LoadUserSetting,将上述代码复制自定义登陆窗口的登陆按钮的最后面即可。

建议你看看自定义用户管理的最后一部分的内容:

 

http://help.foxtable.com/topics/2048.htm

 


--  作者:红叶
--  发布时间:2011/2/25 11:23:00
--  
如果不在自定义登陆窗口的登陆按钮的最后面设置,那能不能在其它事件里设置代码达到以上目的?
--  作者:狐狸爸爸
--  发布时间:2011/2/25 11:28:00
--  
没有办法,这是最好的位置
[此贴子已经被作者于2011-2-25 11:29:10编辑过]