Foxtable(狐表)用户栏目专家坐堂 → 关于权限问题的咨询~~


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

主题:关于权限问题的咨询~~

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 21:07:00 [显示全部帖子]

 多角色,代码得改。

 

 比如原本判断的 if user.roles = "xxx" then 就得变成 if user.roles like "*xxx*" then

[此贴子已经被作者于2014-5-12 21:12:01编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 21:11:00 [显示全部帖子]

 2楼是最简单的改法。

 

 准确一点的改法,要把user.roles分开

 

 dim roles() as string = user.roles.split(",")

 

 然后一个一个比较

 

 dim flag as boolean = false

 for each r as string in roles

     if r = "xxx" then

         flag = true

         exit for

     end if

 next

 msgbox(flag)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 21:16:00 [显示全部帖子]

 原本比如是

 

if user.roles = "个案拆分" then

 

 就改成

 

if user.roles like "*个案拆分*" then


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 21:20:00 [显示全部帖子]

以下是引用wealthwind在2014-5-12 21:17:00的发言:
早FOXTABLE里面有没有一个办法,想WORD一样,查找更替的功能?

 

木有,只能打开窗口以后,下方有一个查找替换的功能。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 21:34:00 [显示全部帖子]

以下是引用wealthwind在2014-5-12 21:27:00的发言:

有什么办法,可以通过外部数据,就可以控制权限,每次这样改代码,也不是办法额

 

 

有办法,但比较复杂,你可能控制不来。

 

先打打基础

 

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

 

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

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 21:42:00 [显示全部帖子]

以下是引用wealthwind在2014-5-12 21:41:00的发言:
老师针对你给的帮助,他们都是针对表的,但是我很多操作都是针对窗口和控件的额~~

 

看原理,一通百通。

 

知道怎么控制表,就知道怎么控制窗口了。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 21:45:00 [显示全部帖子]

以下是引用wealthwind在2014-5-12 21:43:00的发言:
有没办法重全局代码入手~~~将用户,添加多角色·~???

 

如果只是针对你这个问题。可以。

 

比如,你定义了3个变量

 

a = "区域"

b = "主管"

c = "老板"

 

在代码里面,你直接用这几个变量就行了。这样以后改了角色名,只需要改一个地方即可。

[此贴子已经被作者于2014-5-12 21:45:36编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 22:00:00 [显示全部帖子]

以下是引用wealthwind在2014-5-12 21:51:00的发言:
现在有可能出现,用户名,用几个角色~~

 

用几个角色,改权限控制的代码。

 

比如 A,有三个角色 xyz

 

代码里面,如果有x角色,就允许做;如果有y角色,就允许做;如果是z角色,就允许做;

 

if user.roles like "*x*" then

 

end if

if user.roles like "*y*" then

 

end if

if user.roles like "*z*" then

 

end if

 

 用全局变量就可以这样写

 

a = "x"

b = "y"

c = "z"

 

if user.roles like "*" & a & "*" then

 

end if

if user.roles like "*" & b & "*" then

 

end if 

if user.roles like "*" & c & "*" then

 

end if

 

[此贴子已经被作者于2014-5-12 21:59:55编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 22:11:00 [显示全部帖子]

 回复23楼,不是不要了。而是用代码、用变量去代替。

 

 用授权表,只是不让代码写死,可以灵活变换。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/12 22:13:00 [显示全部帖子]

呃,错了图片点击可在新窗口打开查看

 

For Each s As String In "ComboBox1|TextBox4|Button3|Button1|Button4".Split("|")
    e.Form.Controls(s).Enabled = (User.roles = "日常事务")

 

改成

 

For Each s As String In "ComboBox1|TextBox4|Button3|Button1|Button4".Split("|")
    e.Form.Controls(s).Enabled = (ser.roles like "*日常事务*")


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