Foxtable(狐表)用户栏目专家坐堂 → 表的一列共享


  共有3466人关注过本帖树形打印复制链接

主题:表的一列共享

帅哥哟,离线,有人找我吗?
15666282205
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:541 积分:4291 威望:0 精华:0 注册:2019/1/13 10:12:00
表的一列共享  发帖心情 Post By:2020/5/31 9:12:00 [只看该作者]

老师,表用代码设定只能由一个人编辑,但是想把其中的“备注”列共享,登录名等于“经办人”,可以编辑“备注列”,怎么设计代码?
现在的代码:(表的startedit)
If  user.name <> "刘永杰" Then
    MessageBox.Show("对不起,您无权修改!")
    e.Cancel = True
End If

 回到顶部
帅哥哟,离线,有人找我吗?
sloyy
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:541 积分:4291 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2020/5/31 14:34:00 [只看该作者]

老师,还有一个条件,如果登录人等于“经办人”,则可以编辑备注列,否则不能编辑,麻烦您指导。

 回到顶部
帅哥哟,离线,有人找我吗?
sloyy
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By: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

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:541 积分:4291 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2020/6/1 16:59:00 [只看该作者]

sloyy老师的效果不好,不是备注列也可以改动一次,然后锁定表。蓝老师的基本可以,唯一缺点是备注列谁也可以改动,没实现登录人等于经办人才能改动。我试试改编一下代码。

 回到顶部
帅哥哟,离线,有人找我吗?
15666282205
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:541 积分:4291 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2020/6/1 17:15:00 [只看该作者]

蓝老师,我试了一下,只要是列的类型是备注型,就能改动,而且谁都能改动,不是备注型的列可以控制。另外只有经办人等于登录人才能改动这个控制我在这里没研究好。请指导。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:541 积分:4291 威望:0 精华:0 注册:2019/1/13 10:12:00
  发帖心情 Post By:2020/6/1 17:40:00 [只看该作者]

蓝老师,新的代码没控制让刘永杰有改动权限。而且还是存在一个问题:只要列的类型设定为备注型,好几列都能改动,也不合适。想实现的功能是:刘永杰有全部权限,登录人是经办人的时候,可以改动相符的行其中一列,比如叫“回复问题”列,如果登录人不等于经办人,则这一行的“回复问题”不能改动。现在的代码如下,请您完善一下。
现在的代码:(表的startedit)
If  user.name <> "刘永杰" Then
    MessageBox.Show("对不起,您无权修改!")
    e.Cancel = True
End If
[此贴子已经被作者于2020/6/1 17:47:50编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/1 20:04:00 [只看该作者]

说的问题颠三倒四。请一次性把需要控制的东西说完整

 回到顶部
总数 19 1 2 下一页