我需要校外教授查看他们学生的出勤记录。我正在写的应用程序是用vbscript的经典asp。
数据库有一个出勤表,但是每个学生都会得到班级开会日期的新记录,以及出勤状态是出席、迟到还是缺勤。
我的主过程收集讲师id,他希望查看哪门课程,并返回一个班级花名册(不同的学生列表),其中包含每种类型的出勤状态的总数。
我的最后一步是,他们希望能够单击某个学生的出勤状态,并显示这些"n“数量的记录。
我看过master / detail,但是所有的引用都说所有的数据必须在一行中。重复部分似乎不接受第二个记录集,该记录集将是相同的数据库基表,但根据课程的学生ID (作为URL参数传递)进行筛选。
我能做到这一点的方法是什么?一个具有多个详细记录关系的主记录。
发布于 2013-11-22 14:22:13
对于transaction表,此模式可以为date、professorid、studentid、classid、P、L、A
使用P、L、A作为当前、迟到和缺勤,则需要创建相关的学生表
您需要的其余页面是基于您的条件的group by查询。
发布于 2013-11-26 01:16:29
对于深入分析,您需要两个报告:一个报告包含讲师的所有记录,另一个报告包含特定学生与该讲师的所有详细信息。如果您希望在两个报告之间显示的列基本相同,那么您实际上可以使用单个.asp文件来执行此操作,但我假设您希望有两个文件。
首先,制作详细的报告。这将从查询字符串中获取学生ID和教师ID。据推测,也应该有一个学年或期间或一些这样的时间限制。
<html><head><blah blah blah>
<%
dim AY, SID, IID, SQL '-etc.
AY = Request.Querystring("AY")
SID = Request.Querystring("S")
IID = Request.Querystring("I")
'- validate the inputs and assign default values as needed
%></head><body>
<%
SQL = "SELECT StudentName, Course, DateofClass, Attendance FROM AttendanceView"
SQL = SQL & " WHERE StudentID = " & SID & " AND InstructorID = " & IID
SQL = SQL & " AND AY = " & AY '- or whatever other filters are needed
'- open a recordset and write it out, probably in a table
'- close recordset, close table
%></body></html>然后,在主报告中,当您为学生写出行时,将其中一列设置为指向详细报告的链接。
'...
response.write "<td><a href='DetailReport.asp?I=" & rs("InstructorID")
response.write "&S=" & rs("StudentID") & "&AY=" & rs("AY") & "'"
response.write " title='Click to see details' target='_blank'>"
response.write rs("TotalAttendance") & "</a></td>"
'---我已经在链接上放了一个target="_blank“,但是用一点JavaScript,你可以让细节报告出现在弹出窗口/覆盖中。此外,如果您愿意,您可以将详细信息链接放在它自己的列中,这样用户就可以单击加号或单词"details“或箭头或其他东西,而不是单击总出席人数。但基本思想仍然是相同的:将每行的标识信息放入链接中,然后详细信息报告可以从查询字符串中读取该信息。
https://stackoverflow.com/questions/20135023
复制相似问题