以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于不同用户删除指定的行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50503)

--  作者:wealthwind
--  发布时间:2014/5/7 20:53:00
--  关于不同用户删除指定的行?
比如,我窗口中有个删除按钮可以删除表的行,现在这个表里面有很多行(其中有个列“分区”,比如有东北区、华东区、东南区、华东区),都是不同分区人员录入的,现在我想达到的目的是,东北区人员登录只能删除它自己分区的行,而不能删除其他分区的行,这该如何实现?
--  作者:有点甜
--  发布时间:2014/5/7 21:46:00
--  

 删除之前,判断一下。比较e.datarow("区域") 和 user分组

 

 自己写代码 http://www.foxtable.com/help/topics/0632.htm

 


--  作者:wealthwind
--  发布时间:2014/5/7 22:26:00
--  
需要用到CASE吗???

因为含有东北区、东南区、西北区、华东区等不同的组???

需要将组指定 只允许删除自身的文件~~~



--  作者:有点甜
--  发布时间:2014/5/7 22:28:00
--  

 额,好吧。直接写

 

If e.Datarow("分区") <> User.xxx Then

    e.Cancel = True

End If


--  作者:wealthwind
--  发布时间:2014/5/8 14:56:00
--  

没看明白额~~~

比如:如果是华北区的,它想删除自身的行,按删除键,就出现,删除成功;

 

如果是华北区的,它想删除非自身的行,按删除键后,就出现,你无权限删除。。。

 

这个该如何设置呢??


--  作者:有点甜
--  发布时间:2014/5/8 15:29:00
--  

呃...能不能有点进步?

 

beforeDeleteDatarow

 

If e.Datarow("分区") <> User.xxx Then

    msgbox("不能删除")

    e.Cancel = True

End If

 

datarowDeleted

 

msgbox("删除成功")

[此贴子已经被作者于2014-5-8 15:30:45编辑过]

--  作者:wealthwind
--  发布时间:2014/5/8 16:23:00
--  
老师,我是制定用户组呢?还是指定用户角色?
--  作者:wealthwind
--  发布时间:2014/5/8 16:23:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:360截图20140508162206218.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/5/8 16:25:00
--  
你要判断分组 写的是 

User.Group

If e.Datarow("分区") <> User.Group Then

    msgbox("不能删除")

    e.Cancel = True

End If


--  作者:wealthwind
--  发布时间:2014/5/8 16:41:00
--  
也就是说,我也可以判断角色,对吧~~