Foxtable(狐表)用户栏目专家坐堂 → 请教多用户权限编辑,经理可以编辑所有,员工只能编辑权限内数据,设置后出问题,变成所有人都可以编辑。坐等,谢谢。


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

主题:请教多用户权限编辑,经理可以编辑所有,员工只能编辑权限内数据,设置后出问题,变成所有人都可以编辑。坐等,谢谢。

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


加好友 发短信
等级:幼狐 帖子:68 积分:583 威望:0 精华:0 注册:2016/9/8 23:24:00
请教多用户权限编辑,经理可以编辑所有,员工只能编辑权限内数据,设置后出问题,变成所有人都可以编辑。坐等,谢谢。  发帖心情 Post By:2016/10/1 9:33:00 [只看该作者]

请教多用户权限编辑,经理可以编辑所有,员工只能编辑权限内数据,某一行数字被编辑后,除非经理,其他人均不允许删除该行,也不允许编辑。但应用时出问题,变成所有人都可以编辑。
prepareedit事件如下:
Select Case e.Col.name
    Case "序号","资料审核备注","缺失资料","补齐时间","临时到期日","资料是否齐全","是否亲办","联系人是否含","是否核实被授权人","意愿核实日期","意愿审核日期","启用操作时间","启用备注","是否验"
        If user.name="赵经理" Then e.cancel=False
    Case "序号","资料审核备注","缺失资料","补齐时间","临时到期日","资料是否齐全","是否亲办","联系人是否含","是否核实被授权人"
        If user.name<>"靓女1" Then e.cancel=True
    Case "意愿核实日期"
        If user.name<>"靓女2" Then e.cancel=True
    Case "意愿审核日期","启用操作时间","启用备注"
        If user.name<>"籽籽" Then e.cancel=True
    Case "是否验印"
        If user.name<>"靓女2" Then e.cancel=True
End Select

startedit事件如下:
If User.name <> "赵经理" And e.Row.Isnull("启用操作时间")=False Then
    MessageBox.Show("对于已经启用的序号,只有经理才能编辑!", "提示")
    e.Cancel = True
End If

beforedeletedatarow事件如下:
If User.name <> "赵经理" And e.DataRow.Isnull("启用操作时间")=False Then
    MessageBox.Show("对于已经启用的序号,只有经理才能删除!", "提示")
    e.Cancel = True
End If

[此贴子已经被作者于2016/10/1 9:41:13编辑过]

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/1 10:17:00 [只看该作者]

If user.name="赵经理"  Then '经理可以编辑所有
Else e.DataRow.Isnull("启用操作时间")=False Then '经理才能能编辑已经启用的行
    If user.name <> "赵经理"  Then
        e.Cancel = True
    End If
Else
    Select Case e.Col.name
        Case "序号","资料审核备注","缺失资料","补齐时间","临时到期日","资料是否齐全","是否亲办","联系人是否含","是否核实被授权人","意愿核实日期","意愿审核日期","启用操作时间","启用备注","是否验"
            If user.name <> "赵经理" Then e.cancel=False '经理才能编辑这些列
        Case "序号","资料审核备注","缺失资料","补齐时间","临时到期日","资料是否齐全","是否亲办","联系人是否含","是否核实被授权人"
            If user.name<>"靓女1" Then e.cancel=True
        Case "意愿核实日期"
            If user.name<>"靓女2" Then e.cancel=True
        Case "意愿审核日期","启用操作时间","启用备注"
            If user.name<>"籽籽" Then e.cancel=True
        Case "是否验印"
            If user.name<>"靓女2" Then e.cancel=True
    End Select
End If

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


加好友 发短信
等级:幼狐 帖子:68 积分:583 威望:0 精华:0 注册:2016/9/8 23:24:00
  发帖心情 Post By:2016/10/1 14:41:00 [只看该作者]

请问这个代码是要加到哪个事件中?prepareedit和startedit中添加都报错:编译错误:DataRow不是RowColeventargs的成员 

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/2 8:28:00 [只看该作者]

PrepareEdit事件:

If user.name="赵经理"  Then '经理可以编辑所有
Else e.Row.Isnull("启用操作时间")=False Then '经理才能能编辑已经启用的行
    If user.name <> "赵经理"  Then
        e.Cancel = True
    End If
Else
    Select Case e.Col.name
        Case "序号","资料审核备注","缺失资料","补齐时间","临时到期日","资料是否齐全","是否亲办","联系人是否含","是否核实被授权人","意愿核实日期","意愿审核日期","启用操作时间","启用备注","是否验"
            If user.name <> "赵经理" Then e.cancel=False '经理才能编辑这些列
        Case "序号","资料审核备注","缺失资料","补齐时间","临时到期日","资料是否齐全","是否亲办","联系人是否含","是否核实被授权人"
            If user.name<>"靓女1" Then e.cancel=True
        Case "意愿核实日期"
            If user.name<>"靓女2" Then e.cancel=True
        Case "意愿审核日期","启用操作时间","启用备注"
            If user.name<>"籽籽" Then e.cancel=True
        Case "是否验印"
            If user.name<>"靓女2" Then e.cancel=True
    End Select
End If

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


加好友 发短信
等级:幼狐 帖子:68 积分:583 威望:0 精华:0 注册:2016/9/8 23:24:00
  发帖心情 Post By:2016/10/2 11:11:00 [只看该作者]

多谢狐爸,节假日也能回复,确实感觉贵公司想做好产品的诚意。昨天我自己试着在prepareedit将代码变更了一下,只验证了经理可以编辑所有,其他员工未验证,不知道语法有没问题?
如:If user.name<>"陈靓女" Or user.name<>"戚靓女" Then e.cancel=True,陈靓女和戚靓女都可以编辑,是不是可以用OR这种表达式?

代码如下:
If user.name = "赵经理"  Then
    e.Cancel = False
Else
    Select Case e.Col.name
        Case "序号","资料审核备注","缺失资料","补齐时间","上交时间","返还时间","临时序号到期日","资料是否齐全","是否亲办","联系人是否含","是否核实被授权人"
            If user.name<>"陈靓女" Or user.name<>"戚靓女" Then e.cancel=True
        Case "意愿核实日期"
            If user.name<>"蔡靓女" Then e.cancel=True
        Case "意愿审核日期","启用操作时间","序号启用备注"
            If user.name<>"叶籽籽" Then e.cancel=True
        Case "是否验"
            If user.name<>"任靓女" Then e.cancel=True
    End Select
End If
[此贴子已经被作者于2016/10/2 11:11:28编辑过]

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/2 11:45:00 [只看该作者]

If user.name<>"陈靓女" And user.name<>"戚靓女" Then e.cancel=True

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


加好友 发短信
等级:幼狐 帖子:68 积分:583 威望:0 精华:0 注册:2016/9/8 23:24:00
  发帖心情 Post By:2016/10/2 19:47:00 [只看该作者]

咨询下,我就做了一个数据表及表内的一些事件编程,如果购买开发版本的话,可以发布成一个独立运行的数据表吗?可以放在一个局域网电脑内共享,所有用户可以在线共同编辑录入数据吗?

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/3 9:19:00 [只看该作者]

可以的

 回到顶部