以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 授权中的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55467)

--  作者:如意大帝
--  发布时间:2014/8/17 15:31:00
--  [求助] 授权中的问题

For Each t As Table In Tables
    t.Visible = True
    t.AllowEdit = True
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If

 

 

我发现虽然不可编辑,但可以在录入窗口中删除记录,这样避免呢?

 


--  作者:有点甜
--  发布时间:2014/8/17 15:45:00
--  
 在录入窗口可以删除记录?那你就在删除按钮那里加入代码判断和比较什么样的不能被删除
--  作者:如意大帝
--  发布时间:2014/8/17 17:23:00
--  

代码怎样写,不会啊图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/8/17 17:25:00
--  
 你的逻辑是什么?样的行,不能删除?或者什么样的用户,不能删除?
--  作者:有点甜
--  发布时间:2014/8/17 17:29:00
--  

 如果是,锁住的表,不能编辑的话,你的删除按钮,就这样写。

 

 If Tables("表A").AllowEdit Then

    Tables("表A").Current.Delete

 Else

    msgbox("不能删除")

 End If


--  作者:如意大帝
--  发布时间:2014/8/18 8:39:00
--  
是的,既然已经禁止编辑就应该禁止删除,为什么还要在删除按钮中再写代码禁止?
--  作者:Bin
--  发布时间:2014/8/18 8:53:00
--  
这里的禁止编辑,并不包括删除.