以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教多用户权限编辑,经理可以编辑所有,员工只能编辑权限内数据,设置后出问题,变成所有人都可以编辑。坐等,谢谢。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91173)

--  作者:ksaa16888
--  发布时间: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编辑过]

--  作者:狐狸爸爸
--  发布时间: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
--  发布时间:2016/10/1 14:41:00
--  
请问这个代码是要加到哪个事件中?prepareedit和startedit中添加都报错:编译错误:DataRow不是RowColeventargs的成员 
--  作者:狐狸爸爸
--  发布时间: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
--  发布时间: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编辑过]

--  作者:狐狸爸爸
--  发布时间:2016/10/2 11:45:00
--  
If user.name<>"陈靓女" And user.name<>"戚靓女" Then e.cancel=True
--  作者:ksaa16888
--  发布时间:2016/10/2 19:47:00
--  
咨询下,我就做了一个数据表及表内的一些事件编程,如果购买开发版本的话,可以发布成一个独立运行的数据表吗?可以放在一个局域网电脑内共享,所有用户可以在线共同编辑录入数据吗?
--  作者:狐狸爸爸
--  发布时间:2016/10/3 9:19:00
--  
可以的