以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表格行的删除权限问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117100)

--  作者:jackchan120925
--  发布时间:2018/4/6 15:16:00
--  表格行的删除权限问题
我想控制员工的行的删除权限,所以在项目属性-全局事件表 的<beforedeletedatarow>里面设置了如下代码

If 登录名= "A" Then
    e.cancel=True
End If

设置完后发现,A登录后,用按钮(按钮的代码为 r.delete)也无法删除。

我的目的是:
使A无法通过右键或者fox系统固有的菜单来删除行,但只能通过我这里自己设置的删除代码来删除。这个该如何修正呢? 谢谢

--  作者:jackchan120925
--  发布时间:2018/4/6 15:22:00
--  
或者我把代码修改城如下,否是就能达到我要的要求呢?

If 登录名= "A" Then
    e.cancel=True
End If

If _username="A" And e.DataTable.Name="临时测试表" Then
e.cancel=True
End If

这样是否就会使用户A只能删除《临时测试表》的行,而其他表的行是无法删除的

--  作者:有点甜
--  发布时间:2018/4/6 15:22:00
--  

If vars("允许") = false Then

    e.cancel= True

End If

 

你点击按钮的时候,这样写

 

vars("允许") = true

\'删除

vars("允许") = false


--  作者:jackchan120925
--  发布时间:2018/4/6 16:21:00
--  
相当于我先申明一个全局变量
vars(“允许”)
默认值为false

然后在全局事件<beforedeletedatarow>中设置代码

vars("允许") = true

\'删除

vars("允许") = false



然后在需要删除的按钮中设置代码
vars("允许")=true
r.delete
vars("允许")=false

1,这样理解正确吗?
2,vars变量我理解起来,是可以用public变量来代替的,效果一样,这个情况下,对么?

谢谢

--  作者:有点甜
--  发布时间:2018/4/6 16:24:00
--  

beforeDeleteDataRow

 

If vars("允许") = false Then

    e.cancel= True

End If

 

按钮代码

 

vars("允许") = true

\'这里写删除代码

vars("允许") = false


--  作者:jackchan120925
--  发布时间:2018/4/6 16:45:00
--  
非常感谢,请问个场景下, public 和var这两种变量我可以通用么?我理解起来这种情况下俩者貌似没区别,不知是否正确。谢谢
--  作者:有点甜
--  发布时间:2018/4/6 17:23:00
--  
以下是引用jackchan120925在2018/4/6 16:45:00的发言:
非常感谢,请问个场景下, public 和var这两种变量我可以通用么?我理解起来这种情况下俩者貌似没区别,不知是否正确。谢谢

 

有微小区别,功能基本上是一样的。