Foxtable(狐表)用户栏目专家坐堂 → [求助]关于授权表


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

主题:[求助]关于授权表

帅哥哟,离线,有人找我吗?
fred
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
[求助]关于授权表  发帖心情 Post By:2015/8/17 17:38:00 [只看该作者]

老师好。请看附件。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.rar
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test_201508171728.zip


假设有若干个数据表。采购合同,销售合同……
用一个“表授权”表来个性化设置。“表授权”表中“个人权限用户”,“部门权限用户”和“全局权限用户”是多值字段。
取值于“员工”表。

请问代码如何写?放在哪个事件位置?

谢谢



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/17 17:44:00 [只看该作者]

 你的问题是什么?权限怎么控制?

 

 那你各个列分别拥有什么权限?

 

 看看 http://www.foxtable.com/help/topics/2405.htm

 


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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/17 18:03:00 [只看该作者]

要求:针对“表名”列所列的表,若在“个人权限用户”列里被选,则被选中用户只能看到自己的东西。
若在“部门权限用户”列里被选,则被选中用户能看到自己部门里的东西,若在“全局权限用户”列里被选,则此表(“表名”列所列的表)全部数据都可以看到。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/17 18:13:00 [只看该作者]

 For Each dr As DataRow In DataTables("表授权").DataRows
    If ("," & dr("全局权限用户") & ",").Contains("," & user.name & ",") Then
        DataTables(dr("表名")).LoadFilter = ""
        DataTables(dr("表名")).Load
    Else
        If ("," & dr("部门权限用户") & ",").Contains("," & user.name & ",") Then
            DataTables(dr("表名")).LoadFilter = "部门 = '" & user.Group & "'"
            DataTables(dr("表名")).Load
        Else
            If ("," & dr("个人权限用户") & ",").Contains("," & user.name & ",") Then
                DataTables(dr("表名")).LoadFilter = "姓名 = '" & user.name & "'"
                DataTables(dr("表名")).Load
            Else
                DataTables(dr("表名")).LoadFilter = "1=2"
                DataTables(dr("表名")).Load
            End If
        End If
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/17 18:19:00 [只看该作者]

表属性AFTERLOAD里吗?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/17 19:50:00 [只看该作者]

LoadUserSetting事件

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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/18 15:33:00 [只看该作者]

.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2014.11.11.1
错误所在事件:项目,LoadUserSetting
详细错误信息:
未设置对象变量或 With 块变量。



出错了,袍袍老师。
[此贴子已经被作者于2015/8/18 15:54:52编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/18 16:08:00 [只看该作者]

关键是你要看懂代码,调试参考

 

http://www.foxtable.com/help/topics/1485.htm

 

[此贴子已经被作者于2015/8/18 16:08:53编辑过]

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


加好友 发短信
等级:幼狐 帖子:135 积分:1088 威望:0 精华:0 注册:2015/3/16 16:42:00
  发帖心情 Post By:2015/8/19 8:15:00 [只看该作者]

经过测试,发现是表的问题。现在调整好了。

但现在出一个情况,只有开发者看得到所有人的记录。上级看不到部门的甚至连自己的也看不到,下级也看不到自己的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.rar

我的需求就是,如附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test_201508190805.zip

:SA01是SA10的部门经理,我要让SA01看到SA10和他自己的记录,普通职员SA10只能看到他自己的记录。开发者能看到所有人的记录。

我也用MESSAGEBOX看了,可能是因为只执行了第一层IF?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/19 9:22:00 [只看该作者]

大小写要区分。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test_201508190805.zip


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