2013-11-22 3 views
0

Мне нужно, чтобы преподаватели из кампуса рассматривали историю посещаемости своих учеников. Я пишу приложение классического asp с vbscript.asp несколько записей подробностей

В базе данных есть таблица для посещения, но каждый студент получает новую запись за каждую дату, когда класс встречается, и присутствует ли статус присутствия поздним или отсутствующим.

Моя основная процедура собирает идентификатор инструктора, который он хочет просмотреть и возвращает список классов (отдельный список студентов) с итогом каждого типа статуса посещаемости.

Мой последний шаг заключается в том, что они хотят иметь возможность щелкнуть по статусу посещаемости определенного ученика и показать количество показанных «n» записей.

Я просмотрел мастер/деталь, но все ссылки говорят, что все данные должны быть в одной строке. Повторяющийся раздел, похоже, не принимает второй набор записей, который будет одной и той же базой базы данных, но будет отфильтрован по идентификатору студента (передан как параметр URL) для курса.

Каков подход, который я могу сделать, чтобы это произошло? Одна основная запись со многими подробными отношениями записи.

+0

Вы спрашиваете, как отображать существующие данные в формате «развертки», или вы спрашиваете, как настроить базу данных? – Martha

+0

Я прошу отобразить в развертке. Таблица sql уже построена с функциями вставки и обновления, заполняющими таблицу (изменение таблицы не представляется возможным). –

ответ

0

Для таблицы транзакций, эта схема может работать [дата], [professorid], [studentid], [ClassID], [P], [L], [A]

С [P], [ L], [A] как присутствующие, поздние и отсутствующие , тогда вам нужно создать соответствующую таблицу учеников

Остальные страницы, которые вам нужны, представляют собой группу по запросу, основанную на ваших критериях.

0

Для детализации необходимы два отчета: один, у которого есть все записи для инструктора, и тот, у которого есть все детали для конкретного учащегося с этим инструктором. Если столбцы, которые вы хотите отобразить, по существу одинаковы между двумя отчетами, тогда вы можете сделать это с помощью одного файла .asp, но я предполагаю, что вы хотите иметь два файла.

Во-первых, сделайте подробный отчет. Это должно получить идентификатор студента и идентификатор инструктора из строки запроса. Предположительно, также должен быть учебный год или период или некоторый такой временной лимит.

<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>" 
'--- 

Я поставил цель = «_ пустой» на ссылку, но с немного JavaScript, вы можете сделать подробный отчет прийти в всплывающем окне/наложения вместо этого. Кроме того, если вы предпочитаете, вы можете поместить ссылку детализации в свой собственный столбец, чтобы вместо щелчка, скажем, общего количества посещаемости, пользователь щелкнул знак плюса или слово «детали» или стрелку или что-то еще. Основная идея заключается в том, что все равно то же самое: поместите идентификационную информацию для каждой строки в ссылку, а затем отчет о подробностях может прочитать ее из строки запроса.

Смежные вопросы