Foxtable(狐表)用户栏目专家坐堂 → 根据分组动态加载表


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

主题:根据分组动态加载表

帅哥,在线噢!
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2020/3/12 21:00:00 [显示全部帖子]

关于这个Select Case和If的问题,你可以看看:



 回到顶部
帅哥,在线噢!
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2020/3/12 21:54:00 [显示全部帖子]

代码逻辑混乱,自己理清楚逻辑再写代码,否则别人看不懂,也帮不了你。
你要是理不清楚,可以简化,一个一个表判断,例如表A只能张三和李四,表B只能李四和王五,表C只能张三和王五:

if  e.DataTable.Name  = "表A" Then
    Select Case User.Name 
       Case "张三","李四"
       Case Else
            e.Cancel = True
     End If
Elseif  e.DataTable.Name  = "表B" Then
    Select Case User.Name 
       Case "李四","王五"
       Case Else
            e.Cancel = True
     End If
Elseif  e.DataTable.Name  = "表C" Then
    Select Case User.Name 
       Case "张三","王五"
       Case Else
            e.Cancel = True
     End If
End If


 回到顶部
帅哥,在线噢!
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2020/3/12 22:31:00 [显示全部帖子]

单单上面的代码是不会导致这个结果的,你可以做个小例子发上来测试。或者你再后面的代码代码加上:

Select Case e.DataTableName
    Case "SEO","SEO分摊","客服","游客跟踪表","行政区域"
        If User.Group = "客服" Or user.group = "组长" Or  user.group = "SEO"  Then
            e.Cancel = False
        End If
    Case Else
        e.cancel = True
End Select

Select Case e.DataTableName
    Case "游客跟踪表","易途","广告费","客服目标","客服","加V","SEO分摊","SEO","行政区域"
        If user.group = "总经理" Then
            e.cancel = False
        End If
    Case Else
        e.cancel = True
End Select

If  e.DataTableName = "易途" Then
    MessageBox.show(user.Group & ":" & e.Cancel )
    MessageBox.show(user.Group = "总经理" & ":" & e.Cancel )
End If

看看显示的是什么。

 回到顶部