以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  系统设计求助?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173844)

--  作者:zsxx999ja
--  发布时间:2021/12/19 10:37:00
--  系统设计求助?
 期末考试了,要想实现多人同时给学生录入成绩,但不同的教师只能录入授权的年级与学科。这个系统如何设计?
设计些什么表?各表什么字段?如何来实现不同的人录入相应的年级与学科?

--  作者:有点蓝
--  发布时间:2021/12/19 20:40:00
--  
添加一个学科教师表,把学科、教师、年级关联起来即可

然后成绩表的年级与学科列做成下拉项目,下拉的内容根据当前登录的用户去查学科教师表的关联年级与学科,类似参考:http://www.foxtable.com/webhelp/topics/1457.htm

--  作者:zsxx999ja
--  发布时间:2021/12/19 22:18:00
--  
 明白了。
这是我在BeforeLoadOuterTable事件中的代码
Dim dt As DataTable
Dim  n As Integer
Dim cmd As new sqlcommand
cmd.C
cmd.CommandText = "s elect distinct 用户名,上分列名 FROM {授权表} WHERE 用户名 = N\'" & user.name & "\'"
dt = cmd.ExecuteReader
\'output.show(user.name)
\'output.show(dt.DataRows.Count)
Dim str As String
str = dt.DataRows(0)("上分列名")
\'output.show(str)
If e.DataTableName = "学生成绩表" Then
    e.S electString = "S elect [_Identify],[检测号]," & str & "  From {学生成绩表} where substring([检测号],1,1) = \'2\'"  
End If
运行后出错。

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
这里出错的原因是:这个事件发生时,datatable还没有形成,故不能引用数据源吗?



--  作者:有点蓝
--  发布时间:2021/12/19 22:22:00
--  
是的。这个事件不能这样用

如果要根据不同权限显示不同列。应该到afteropenproject事件处理,类似:http://www.foxtable.com/webhelp/topics/2257.htm