Foxtable(狐表)用户栏目专家坐堂 → 让用户处理不同的列无效


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

主题:让用户处理不同的列无效

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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
让用户处理不同的列无效  发帖心情 Post By:2020/6/26 10:48:00 [只看该作者]

在项目的AfterOpenProject事件中设置代码:

Select Case User.Name
    Case "叶垚真","徐闻聪"
        Tables("销售定单主表").Cols.Remove("工厂销售总金额")
        Tables("销售定单主表").Cols.Remove("已付工厂款")
End Select

 

 

但执行无效,主窗口中仍然可见一下两列,请问原因


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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2020/6/26 11:02:00 [只看该作者]


以下内容是专门发给有点蓝浏览

 


[此贴子已经被作者于2021/2/5 21:20:27编辑过]

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


加好友 发短信
等级:幼狐 帖子:162 积分:1083 威望:0 精华:0 注册:2020/1/16 11:58:00
  发帖心情 Post By:2020/6/26 11:27:00 [只看该作者]

窗口AfterLoad
Select Case User.Name
    Case "叶垚真","徐闻聪"
        Tables(e.form.name & "_Table1").Cols.Remove("工厂销售总金额","已付工厂款")
End Select

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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2020/6/26 16:47:00 [只看该作者]

那假如是要求用户角色是业务员的时候,无法处理这两列,该如何写代码


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


加好友 发短信
等级:童狐 帖子:248 积分:1842 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2020/6/26 17:05:00 [只看该作者]

无法处理这两列是需要怎样无法处理?
If User.Roles = "业务员" Then
    Tables(e.form.name & "_Table1").Cols.Remove("工厂销售总金额","已付工厂款")
End If

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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2020/6/26 22:08:00 [只看该作者]

就是需要达成和之前你写的代码一样的效果,只不过把用户名筛选换成角色筛选:

Select Case User.Name
    Case "叶垚真","徐闻聪"
        Tables(e.form.name & "_Table1").Cols.Remove("工厂销售总金额","已付工厂款")
End Select

以上代码能够达成预期效果。

 

If User.Roles = "业务员" Then

    Tables(e.form.name & "_Table1").Cols.Remove("工厂销售总金额","已付工厂款")
End If
以上代码无法达成预期效果

 


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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2020/6/26 22:16:00 [只看该作者]

已经解决,将代码改成如下格式即可:

If User.isrole( "业务员" )=true Then

    Tables(e.form.name & "_Table1").Cols.Remove("工厂销售总金额","已付工厂款")
End If
 
谢谢帮助

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


加好友 发短信
等级:童狐 帖子:248 积分:1842 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2020/6/26 22:18:00 [只看该作者]

If User.IsRole("业务员") Then
    Tables(e.form.name & "_Table1").Cols.Remove("工厂销售总金额","已付工厂款")
End If

 回到顶部