让不同部门编辑不同的行

假定某个表有一个部门列,用于登记负责此记录的部门。
如果 要求每个部门的用户只能编辑本部门的记录,对于其他部门负责的行,则只能查看不能编辑。

设计步骤

1、首先要在用户管理中定义用户分组,用部门名称作为用户分组名:

2、为每个用户指定分组,也就是每个用户所属的部门:

3、然后将表的DataRowAdding事件设置为:

e.DataRow("部门") = User.Group

这样新增行的时候,会自动在部门列填入当前登录用户所属的分组,也就是该用户所属的部门。

4、最后将表的PrepareEdit事件设置为:

If e.Row("部门") <> User.Group Then
    e.Cancel =
True
End
If

这样在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑。


本页地址:http://www.foxtable.com/webhelp/topics/2248.htm