如果希望用户进入某个表后,能够根据不同的用户身份,隐藏部分行,使得每个用户只能查看和修改自己有权操作的行,此时就需要使用权限管理公式。
假定希望在订单管理系统中,如果是普通用户登录,则只显示该用户(雇员)负责的订单,如果是管理员登陆,则显示所有数据。只需将订单表的权限管理公式设为:if(UserName= "管理员",ShowAll(),ShowFor("雇员",UserName))
你也许会问,用表预处理公式不是同样可以达到目的吗?其实不然,因为表预处理公式在执行筛选(包括撤销筛选)命令或函数后是不会执行的,这样用户就可能看到他不应该看到的数据。但是如果你仅仅希望在用户进入某个表的时候,能够预先锁定部分符合条件的行,那么用表预处理公式是更恰当的。