Foxtable(狐表)用户栏目专家坐堂 → [求助] 不同用户组加载不同数据


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

主题:[求助] 不同用户组加载不同数据

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
[求助] 不同用户组加载不同数据  发帖心情 Post By:2011/6/30 20:44:00 [只看该作者]

狐爸:您帮看下面代码,为何'操作者'组能控制筛选数据,而'管理者'组不执行条件筛选了呢?

 

 

For Each t As Table In Tables
    t.Visible = True
    t.AllowEdit = True
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("权限").Visible = (User.Type <> UserTypeEnum.User )
Dim zzx As String
zjl = "总经理"
If  User.Group="操作者" Then    
    Dim dr As DataRow
    dr = DataTables("员工信息库").Find("姓名= '" & User.Name & "'")
If dr IsNot Nothing Then 
  
    
    DataTables("绩效").LoadFilter ="[考核部门]='" & dr("部门") & "' And [建议考核人] <> '"& zjl & "'"
    DataTables("绩效").Load()

  Else
If User.group = "管理者" Then
 DataTables("绩效").LoadFilter =" [建议考核人] <> '"& zjl & "'"
DataTables("绩效").Load()
Else
messagebox.show("此账户已停用!点击确定后将关闭程序.")
Syscmd.Project.Exit()
End If
End If
End If

If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("权限").Select("用户名 = '" & User.Name & "'" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If

[此贴子已经被作者于2011-6-30 20:45:10编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/6/30 21:27:00 [只看该作者]

您的代码能执行吗?

 

Dim zzx As String
zjl = "总经理"

zjl变量在哪里定义的?


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/6/30 21:31:00 [只看该作者]

不知道您前面是否还有代码,关于 zjl 变量的问题自己调过来:

 

For Each t As Table In Tables
    t.Visible = True
    t.AllowEdit = True
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("权限").Visible = (User.Type <> UserTypeEnum.User )
Dim zzx As String
zjl = "总经理"
If  User.Group="操作者" Then
    Dim dr As DataRow
    dr = DataTables("员工信息库").Find("姓名= '" & User.Name & "'")
    If dr IsNot Nothing Then     
        DataTables("绩效").LoadFilter ="[考核部门]='" & dr("部门") & "' And [建议考核人] <> '"& zjl & "'"
        DataTables("绩效").Load()      
    End If
Else
    If User.group = "管理者" Then
        DataTables("绩效").LoadFilter =" [建议考核人] <> '"& zjl & "'"
        DataTables("绩效").Load()
    Else
        messagebox.show("此账户已停用!点击确定后将关闭程序.")
        Syscmd.Project.Exit()
    End If
   
End If
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("权限").Select("用户名 = '" & User.Name & "'" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If


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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/6/30 21:37:00 [只看该作者]

再次感谢程老师,我声明变量名写错了,应该dim zjl as string

 

 


 回到顶部