以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]求大神帮我写下授权代码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=89185)

--  作者:18523982317
--  发布时间:2016/8/16 21:16:00
--  [求助]求大神帮我写下授权代码

授权是按照帮助文档摘抄的,下不下载都可以,我想了很久,实在写不出来。

 

我想要实现:

1、比如王麻子离职了,临时员工资料表里就读取不到王麻子了,但是张三还在授权表的用户里,怎么在另外的模块提交离职的时候,自动删除授权表用户里面的王麻子。

2、我想要复制某个人的权限,添加给另外的人,请问代码该怎么写?

3、假设有个测试的帐号,测试的帐号权限为大众权限,大家都可以用,某个员工从重要岗位计财部调岗了,怎么把这个员工的权限清除后,赋值成测试的大众权限?

 

 

不是我懒,是实在写不出来。。。。求各位大神帮下忙

 

 

 

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


--  作者:大红袍
--  发布时间:2016/8/16 21:36:00
--  

1、

 

Dim name As String = "王麻子"
For Each r As Row In Tables("授权").Rows
    Dim str As String = r("用户")
    str = System.Text.RegularExpressions.Regex.Replace(str, ",*?" & name & ",*?", "")
    r("用户") = str
Next


--  作者:大红袍
--  发布时间:2016/8/16 21:41:00
--  

2、

 

Dim name1 As String = "张三"
Dim name2 As String = "李四"
For Each dr As DataRow In DataTables("授权").Select("用户 like \'%" & name1 & "%\'")
    Dim str As String = dr("用户")
    If str.Contains(name2) = False Then
        dr("用户") = str & "," & name2
    End If
Next


--  作者:大红袍
--  发布时间:2016/8/16 21:42:00
--  

3、

 

看2楼、3楼的方法


--  作者:18523982317
--  发布时间:2016/8/16 21:54:00
--  
以下是引用大红袍在2016/8/16 21:42:00的发言:

3、

 

看2楼、3楼的方法

 

多谢大神  2楼的代码也很简单  我感觉我能做出来,可是没想到。。。。谢谢大神

 

另外问一句  System.Text.RegularExpressions.Regex.Replace(str, ",*?" & name & ",*?", ""),这种代码得要什么基础才能知道?


--  作者:大红袍
--  发布时间:2016/8/16 22:03:00
--  

 或者写成这样

 

Dim name As String = "王麻子"
For Each r As Row In Tables("授权").Rows
    Dim str As String = ""
    For Each s As String In r("用户").split(",")
        If name <> s Then
            str = s & ","
        End If
       
    Next
    r("用户") = str.trim(",")
Next