以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]逻辑值为TRUE时的编辑权限问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=73196)

--  作者:jwt
--  发布时间:2015/8/14 9:47:00
--  [求助]逻辑值为TRUE时的编辑权限问题
各位老师,学生求助如下:(附图)
当某一行中,当【总裁审定】的逻辑值为 true,则该行所有列值均不可编辑。
当某一行中,【工作下达】的逻辑值为 true,则该行的【下达日期、责任人、工作内容、工作期限、工作下达】等列值不允许编辑。

希望老师给写下代码,如果太忙的话,请给下教程连接,谢谢~
图片点击可在新窗口打开查看此主题相关图片如下:1234.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/8/14 9:50:00
--  

PrepareEdit事件

 

If e.Col.Name <> "总裁审定" Then

    If e.Row("总裁审定") Then

        e.Cancel = true

    End If

End If


--  作者:大红袍
--  发布时间:2015/8/14 9:52:00
--  

PrepareEdit事件

 

Select Case e.Col.Name

    Case "下达日期","责任人","工作内容","工作期限","工作下达"

        If e.Row("工作下达") Then

             e.Cancel = true

        End If

End Select


--  作者:jwt
--  发布时间:2015/8/14 10:05:00
--  谢谢大红袍~~~
谢谢~~~
--  作者:jwt
--  发布时间:2015/8/14 10:05:00
--  
谢谢~~~
--  作者:jwt
--  发布时间:2015/8/14 10:22:00
--  
补充,能否在【总裁审定】前判断一下【总裁评价】是否为空,如果为空值,则弹窗提示请先评价。
另,上述代码,【总裁审定】后,【总裁审定】列值还是可以编辑的??

--  作者:大红袍
--  发布时间:2015/8/14 10:25:00
--  

StartEdit事件

 

If e.Col.Name = "总裁审定" Then

    If e.Row.IsNull("总裁评价") Then

        e.Cancel = True

        msgbox("请先评价")

    End If

End If


--  作者:大红袍
--  发布时间:2015/8/14 10:25:00
--  

PrepareEdit事件

 

 

    If e.Row("总裁审定") Then

        e.Cancel = true

    End If

 


--  作者:jwt
--  发布时间:2015/8/14 10:26:00
--  
以下是引用大红袍在2015/8/14 9:52:00的发言:

PrepareEdit事件

 

Select Case e.Col.Name

    Case "下达日期","责任人","工作内容","工作期限","工作下达"

        If e.Row("工作下达") Then

             e.Cancel = true

        End If

End Select



这是我的代码,帮忙检查下???


Tables("垂直管理系统").Cols("操作记录").AllowEdit = False

Tables("垂直管理系统").Cols("责任人").Combolist = DataTables("用户管理").GetComboListString("Name")

If _UserName = "02人力资源部" Then

    Tables("垂直管理系统").AllowEdit = False

Else If _UserName = "001唐总" Then

    Tables("垂直管理系统").Cols("完成情况_按时完成情况").AllowEdit = False

    Tables("垂直管理系统").Cols("完成情况_延时完成说明").AllowEdit = False

    Tables("垂直管理系统").Cols("工作内容").AllowEdit = False

    Tables("垂直管理系统").Cols("下达日期").AllowEdit = False

    Tables("垂直管理系统").Cols("完成期限").AllowEdit = False

    Tables("垂直管理系统").Cols("工作下达").AllowEdit = False

    Tables("垂直管理系统").Cols("责任人").AllowEdit = False

Else If _UserName ="01董事会办公室" Then

    Tables("垂直管理系统").Cols("完成情况_按时完成情况").AllowEdit = False

    Tables("垂直管理系统").Cols("完成情况_延时完成说明").AllowEdit = False

    Tables("垂直管理系统").Cols("总裁评价").AllowEdit = False

    Tables("垂直管理系统").Cols("总裁审定").AllowEdit = False

Else

    Tables("垂直管理系统").Cols("工作内容").AllowEdit = False

    Tables("垂直管理系统").Cols("下达日期").AllowEdit = False

    Tables("垂直管理系统").Cols("完成期限").AllowEdit = False

    Tables("垂直管理系统").Cols("工作下达").AllowEdit = False

    Tables("垂直管理系统").Cols("责任人").AllowEdit = False

    Tables("垂直管理系统").Cols("总裁评价").AllowEdit = False

    Tables("垂直管理系统").Cols("总裁审定").AllowEdit = False

    Tables("垂直管理系统").Cols("备注").AllowEdit = False

End If

If e.Col.Name <> "总裁审定" Then

    If e.Row("总裁审定") Then

        e.Cancel = True

    End If

End If

Select Case e.Col.Name

    Case "下达日期","责任人","工作内容","工作期限","工作下达"

        If e.Row("工作下达") Then

            e.Cancel = True

        End If

End Select

[此贴子已经被作者于2015/8/14 10:25:50编辑过]

--  作者:大红袍
--  发布时间:2015/8/14 10:28:00
--  
看楼上全部。