以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]不同用户处理不同的行和不同的列  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=42294)

--  作者:方丈
--  发布时间:2013/11/7 20:52:00
--  [求助]不同用户处理不同的行和不同的列

学生成绩库中,怎样做到科任登陆时只能看到她任教的班级学生数据和她任教科目的成绩列,

如陈燕华(密码为空)登陆后只能看到902和904的学生信息,并只能看到她所教科目的

“语文成绩”列?谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成绩管理.table

[此贴子已经被作者于2013-11-7 20:52:22编辑过]

--  作者:有点甜
--  发布时间:2013/11/7 21:11:00
--  
 把代码写到项目事件 LoadUserSetting

Dim kms() As String = {"语文", "数学", "英语", "物理", "化学"}
Dim filter As String = "1=2"
For Each km As String In kms
    filter += " or " & km & "科任 = \'" & user.Name & "\'"
Next

DataTables("学生成绩库").LoadFilter = filter
DataTables("学生成绩库").Load

For Each km As String In kms
    Dim count As Integer = DataTables("学生成绩库").Compute("count(_Identify)", km & "科任 = \'" & user.Name & "\'")
    Tables("学生成绩库").Cols(km & "科任").Visible = (count > 0)
    Tables("学生成绩库").Cols(km & "成绩").Visible = (count > 0)
Next

--  作者:realredred
--  发布时间:2013/11/7 21:18:00
--  
小甜甜利害  果然可以,又學懂了

为何 Dim filter As String = "1=2"
[此贴子已经被作者于2013-11-7 21:22:18编辑过]

--  作者:方丈
--  发布时间:2013/11/7 21:35:00
--  
神速!厉害!
--  作者:ZHX241806
--  发布时间:2013/11/8 6:44:00
--  

厉害,学习学习!