以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 表的一列共享 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150483) |
-- 作者:15666282205 -- 发布时间:2020/5/31 9:12:00 -- 表的一列共享 老师,表用代码设定只能由一个人编辑,但是想把其中的“备注”列共享,登录名等于“经办人”,可以编辑“备注列”,怎么设计代码? 现在的代码:(表的startedit) If user.name <> "刘永杰" Then MessageBox.Show("对不起,您无权修改!") e.Cancel = True End If |
-- 作者:sloyy -- 发布时间:2020/5/31 14:13:00 -- If user.name <> "刘永杰" Then For Each dc As DataCol In DataTables("表A").DataCols If dc.Name = "备注" Then dc.AllowEdit=True Else dc.AllowEdit=False End If Next End If
|
-- 作者:15666282205 -- 发布时间:2020/5/31 14:34:00 -- 老师,还有一个条件,如果登录人等于“经办人”,则可以编辑备注列,否则不能编辑,麻烦您指导。 |
-- 作者:sloyy -- 发布时间:2020/5/31 14:46:00 -- If user.name <> "刘永杰" Then For Each dc As DataCol In DataTables("表A").DataCols If dc.Name = "备注" and user.name = "经办人" Then dc.AllowEdit=True Else dc.AllowEdit=False End If Next End If
|
-- 作者:有点蓝 -- 发布时间:2020/5/31 21:19:00 -- startedit If user.name = "经办人" If e.Col.name <> "备注" Then e.Cancel = True End If ElseIf user.name <> "刘永杰" Then MessageBox.Show("对不起,您无权修改!") e.Cancel = True End If |
-- 作者:15666282205 -- 发布时间:2020/6/1 16:59:00 -- sloyy老师的效果不好,不是备注列也可以改动一次,然后锁定表。蓝老师的基本可以,唯一缺点是备注列谁也可以改动,没实现登录人等于经办人才能改动。我试试改编一下代码。 |
-- 作者:15666282205 -- 发布时间:2020/6/1 17:15:00 -- 蓝老师,我试了一下,只要是列的类型是备注型,就能改动,而且谁都能改动,不是备注型的列可以控制。另外只有经办人等于登录人才能改动这个控制我在这里没研究好。请指导。 |
-- 作者:有点蓝 -- 发布时间:2020/6/1 17:21:00 -- startedit If user.name = "经办人" If e.Col.name <> "备注" Then e.Cancel = True End If Else MessageBox.Show("对不起,您无权修改!") e.Cancel = True End If
|
-- 作者:15666282205 -- 发布时间:2020/6/1 17:40:00 -- 蓝老师,新的代码没控制让刘永杰有改动权限。而且还是存在一个问题:只要列的类型设定为备注型,好几列都能改动,也不合适。想实现的功能是:刘永杰有全部权限,登录人是经办人的时候,可以改动相符的行其中一列,比如叫“回复问题”列,如果登录人不等于经办人,则这一行的“回复问题”不能改动。现在的代码如下,请您完善一下。 现在的代码:(表的startedit) If user.name <> "刘永杰" Then MessageBox.Show("对不起,您无权修改!") e.Cancel = True End If [此贴子已经被作者于2020/6/1 17:47:50编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/6/1 20:04:00 -- 说的问题颠三倒四。请一次性把需要控制的东西说完整 |