Skripti http://oppe.admin.ut.ee/ained/tulemus/aine.asp kood

VÄRVIDE TÄHENDUSED
   Serveripoolne skript
   Kliendipoolne skript
   Link
   Include-lause
   Freimid
   Kommentaarid
   Objekti link
   HTML ja tavaline tekst


<%
'Tartu Ülikooli õppeaineregistri WWW-liides
'Autor: Aulis Sibola
'Juhendaja: Jaanus Pöial

'Õppeaine info.
'Kood edastatakse kas meetodiga GET (QUERY_STRING) või meetodiga
'POST (muutujas aine).
'Aine leitakse järgmise koodi järgi: TTII.OO.000
'TT - teaduskonna kood
'II - instituudi kood
'OO - õppetooli kood
'000 - aine number õppetoolis
'Viited eeldusainetele, õppekavadele (koos astmetega) ja õppeainetele.
%>

<!--#INCLUDE  file="header.lisamine"-->
<%
'Kui küsitakse vale pikkusega koodi järgi:
if len(Request("aine")) <> 11 and len(Request.ServerVariables("QUERY_STRING")) <> 11 then
  Response.Redirect("algus.asp")
end if

'Muutuja ainekood järgi otsitakse andmebaasist aine.
if len(Request("aine")) = 11 then
  ainekood = Request("aine")
else
  ainekood = Request.ServerVariables("QUERY_STRING")
end if

'Ülakoma (') pole aine koodis lubatud:
if InStr(ainekood,"'") then
  Response.Redirect("algus.asp")
end if

'Õppeaasta arvutamine:%>

<!--#INCLUDE  file="jooksevaasta.inc"-->
<%
JargmAasta = JooksevAasta + 1

'Ühenduse loomine:
Set yhendus = Server.CreateObject("ADODB.Connection")
'Andmebaasi avamine:
yhendus.Open "Aineregister"

'Aine leidmine tabelist DBA_Aine:
'Päringustring:
Paring = "select kood, teaduskond, instituut, oppetool, nr, maht, " & _
   "keel, loengutunde, praksitunde, seminaritunde, " & _
   "omatootunde, eksam, arvestus, algoppeaasta, " & _
   "loppoppeaasta from DBA_Aine where " & _
   "teaduskond = '"  & mid(ainekood,1,2) & "' and "  & _
   "instituut = '"  & mid(ainekood,3,2) & "' and "  & _
   "oppetool = '"  & mid(ainekood,6,2) & "' and "  & _
   "nr = '"  & mid(ainekood,9,3) & "'"

'päring andmebaasis:
Set yldinfo = yhendus.Execute(Paring)

'Kui sellist ainet ei leidu:
if yldinfo.EOF then
%>

<head>
<title>Vale kood</title>
</head>
<!--#INCLUDE  file="body.htm"-->
<h2>Teie poolt sisestatud koodiga ainet ei leidu andmebaasis.</h2>
<!--#INCLUDE  file="footer.htm"-->
<%
  'Väljundi lõpetamine:
  Response.End
else
%>

<head>
<title><%=yldinfo("teaduskond")&yldinfo("instituut")&"."&yldinfo("oppetool")&"."&yldinfo("nr")%></title>
</head>
<!--#INCLUDE  file="body.htm"-->
<%
'Muutuja ainekood saab nüüd väärtuseks aine numbri (ID-kood) tabelis:
  ainekood=yldinfo("kood")
end if

'Aine lõpetatuse kontroll (selle järgi väljastatakse toimumiskava ja
'õppejõudude ette teade):
eitoimu = false

'Kas aine on lõpetetud (võib olla ka jooksval
'õppeaastal ühekordne aine):
if Not(IsNull(yldinfo("loppoppeaasta"))) then
  if yldinfo("algoppeaasta") = yldinfo("loppoppeaasta") then
   if yldinfo("algoppeaasta") <> JooksevAasta then
    eitoimu = true
   end if
   jargmaasta = yldinfo("algoppeaasta") + 1
   Response.Write "<b><blink>NB! &Uuml;hekordne aine ("
   Response.Write yldinfo("algoppeaasta") & "/" & jargmaasta
   Response.Write " õa.)</blink></b>" & vbNewLine
  else
   eitoimu = true
   Response.Write "<b><blink>NB! Aine on l&otilde;petatud (alates "
   Response.Write yldinfo("loppoppeaasta")
   Response.Write ". a.)</blink></b>" & vbNewLine
  end if
end if

'Aine nime selgitamine:
'Päringustring:
Paring = "select nimi, inimi from DBA_Tekst where " & _
   "lõppaasta is null and aine = " & ainekood

'Päring andmebaasis:
Set nimed = yhendus.Execute(Paring)

'Aine nime(de) ja koodi väljastus:
%>

<p align=center>
<font size=+2><b><%=nimed("nimi")%></b></font>
<br>
<%if len(nimed("inimi")) > 0 then%>
(<%=nimed("inimi")%>)
<br>
<%end if%>
<%=yldinfo("teaduskond")&yldinfo("instituut")&"."&yldinfo("oppetool")&"."&yldinfo("nr")%>
<br>
</p>
<%
'Nimede päringu sulgemine:
nimed.close

'Kas maht on tundides või ainepunktides:
if yldinfo("loengutunde") + yldinfo("praksitunde") + yldinfo("seminaritunde") = yldinfo("maht") then
  ainepunkt = "T"
elseif yldinfo("loengutunde") = 0 and yldinfo("praksitunde") = 0 and yldinfo("seminaritunde") = 0 and yldinfo("omatootunde") = yldinfo("maht") then
  ainepunkt = "T"
else
  ainepunkt = "AP"
end if

'Millised tunnid väljastada (kui tundide kohal on null, siis ei väljastata):
'Tundide vahele väljastatakse plussid, selleks on eraldi muutujad.
'Loengutunnid:
if yldinfo("loengutunde") > 0 then
  prpluss = " + "
  sempluss = " + "
  omapluss = " + "
  ltunde = yldinfo("loengutunde") & " L"
else
  prpluss = ""
  sempluss = ""
  omapluss = ""
  ltunde = ""
end if

'Praktikumitunnid:
if yldinfo("praksitunde") > 0 then
  sempluss = " + "
  omapluss = " + "
  prtunde = prpluss & yldinfo("praksitunde") & " P"
else
  prtunde = ""
end if

'Seminaritunnid:
if yldinfo("seminaritunde") > 0 then
  omapluss = " + "
  semtunde = sempluss & yldinfo("seminaritunde") & " S"
else
  semtunde = ""
end if

'Iseseiseva töö tunnid:
if yldinfo("omatootunde") > 0 then
  omatunde = omapluss & yldinfo("omatootunde") & " i"
else
  omatootunde = ""
end if

'Mitu eksamit/arvestust on (väljastuse jaoks):
'Eksamid:
if yldinfo("eksam") > 1 then
  if yldinfo("arvestus") > 0 then
   exam = yldinfo("eksam") & " eksami ja "
  else
   exam = yldinfo("eksam") & " eksamiga"
  end if
elseif yldinfo("eksam") = 1 then
  if yldinfo("arvestus") > 0 then
   exam = "eksami ja "
  else
   exam = "eksamiga"
  end if
else
  exam = ""
end if

'Arvestused:
if yldinfo("arvestus") > 1 then
  arvestus = yldinfo("arvestus") & " arvestusega"
elseif yldinfo("arvestus") = 1 then
  arvestus = "arvestusega"
else
  arvestus = ""
end if
%>

<p align=right>
<%
'Kui üldse on eksameid/arvestusi, siis väljastatakse:
if yldinfo("eksam") > 0 or yldinfo("arvestus") > 0 then%>

L&otilde;peb <%=exam&arvestus%><br>
<%end if%>
Maht: <b><%=yldinfo("maht")&" "&ainepunkt%></b>
<%
'Kui mõni tundidest on suurem nullist, siis väljastatakse mahu jagunemine tundideks:
if yldinfo("loengutunde") > 0 or yldinfo("praksitunde") > 0 or yldinfo("seminaritunde") > 0 or yldinfo("omatootunde") > 0 then%>

<br>
(&otilde;ppet&ouml;&ouml;: <%=ltunde&prtunde&semtunde&omatunde%>)
<%end if%>
</p>
<hr>
<ul type=square>
<%
'Aine toimumiskava leidmine andmebaasist
if eitoimu then
  lugemine = false 'Kui aine on lõpetatud, siis ei loeta jooksval õa.
else
  lugemine = true

  'Päringustring:
  Paring = "select alg, lopp, tyyp, loengutund, praksitund, " & _
   "seminaritund, praksikohustus, seminarikohustus, " & _
   "ref_arv, kt_arv, eksam, arvestus " & _
   "from DBA_ajakava where " & _
   "aine = " & ainekood & " and aasta = " & JooksevAasta

  'Päring andmebaasis:
  Set ajakava = yhendus.Execute(Paring)

  'Kui ajakavas midagi pole, siis ainet ei loeta
  if ajakava.EOF then
   lugemine = false
  end if
end if

'Aine lugejate selgitamine
'Päringustring:
Paring = "select amet, enimi, pnimi " & _
   "from DBA_lektor, DBA_tavalugeja, DBA_amet " & _
   "where DBA_lektor.kood = DBA_tavalugeja.lektor and " & _
   "DBA_amet.nimi = DBA_lektor.amet and " & _
   "(DBA_tavalugeja.aastani is Null or " & _
   "DBA_tavalugeja.aastast = " & JooksevAasta & ") and " & _
   "dba_tavalugeja.aine = " & ainekood & _
   " order by DBA_amet.kood, DBA_lektor.sort"

'Päring andmebaasis:
Set lugejad = yhendus.Execute(Paring)

'Väljade üle lugemine:
recount = 0
do while not lugejad.EOF
  recount = recount + 1
  lugejad.MoveNext
loop 'do while not...

'Kui ainel on mõni lugeja, pöördutakse lugejate algusse:
if recount then lugejad.MoveFirst

'Lugevate õppejõudude väljastuse algus:
if not lugejad.EOF then
  Response.Write "<li>"
  if lugemine then
   Response.Write JooksevAasta & "/" & JargmAasta & " &otilde;a. "
   if recount = 1 then
    Response.Write "loeb"
   else
    Response.Write "loevad:"
   end if
  end if
end if

'Õppejõudude väljastus:
count = 0 'Kontrollimaks, kas õppejõu järele kirjutada koma

do while not lugejad.EOF
  count = count + 1

  'Viide õppejõu ainetele:
  link = "<a href=oppejoud.asp?eesnimi=" & _
   Server.URLEncode(lugejad("enimi")) & "&perenimi=" & _
   Server.URLEncode(lugejad("pnimi")) & "&otsing=eesjapere>"

  Response.Write " " & vbNewLine & lugejad("amet") & " " & link & lugejad("enimi") & " " & _
   lugejad("pnimi") & "</a>"

  'Viimase õppejõu järele koma ei väljastata:
  if count <> recount then
   Response.Write ","
  end if
  lugejad.MoveNext
loop 'do while not...

Response.Write vbNewLine

'Lugejate päringu sulgemine:
lugejad.close

'Kas loetakse 'mitte-eesti keeles'. Kui jah, siis väljastatakse õppekeel:
if lugemine and yldinfo("keel") <> "eesti" then%>

  <p><li><i>Ainet loetakse <%=yldinfo("keel")%>  keeles.</i>
<%end if

'Üldise info päringu sulgemine:
yldinfo.close

Response.Write "<p>"

'Kuulajaskond koosneb kahest osast (aine on õppekavas kohustuslik ja mitte)

'Õppekavad, kus aine on kohustuslik
'Päringustring:
Paring = "select õppekava, aste from Kuulajaskond, DBA_aste " & _
   "where Kuulajaskond.aine = " & ainekood & " and " & _
   "Kuulajaskond.aste = DBA_aste.nimi and " & _
   "Kuulajaskond.kohustus <> 0 and " & _
   "(Kuulajaskond.õppekava is not null or " & _
   "Kuulajaskond.aste is not null) " & _
   "order by Kuulajaskond.õppekava, DBA_aste.kood"

'Päring andmebaasis:
Set kuulajad = yhendus.Execute(Paring)

'Väljade lugemine:
recount = 0
do while not kuulajad.EOF
  recount = recount + 1
  kuulajad.MoveNext
loop

'Kui mõni õppekava leidub, siis minnakse algusse tagasi:
if recount then kuulajad.MoveFirst

'Väljastus
'Kuna õppekavas võib ka astmeid olla, siis on vaja kontrollida eelmist
'õppekava. Selleks on muutuja eelkava. Muutuja count on koma väljastuse
'kontrollimiseks.
count = 0
eelkava = ""

if not kuulajad.EOF then%>

<li>Aine on kohustuslik järgmis(t)es õppekava(de)s (ja astme(te)s): <i><b>
<%end if

do while not kuulajad.EOF
  count = count + 1

  'Koolon väljastatakse kui õppekavaga kaasneb aste ja õppekava pole tühi:
  if (kuulajad("aste") <> " ") And Not(IsNull(kuulajad("õppekava"))) then
   koolon = ": "
  else
   koolon = ""
  end if

  'Viide õppekava ainetele:
  kavlink = "<a href=oppekava.asp?oppekava=" & _
   Server.URLEncode(kuulajad("õppekava")) & _
   "&aste=&otsing=kava&kohus=molemad>"
  'Viide astme ainetele (kõik õppekavad):
  astlink = "<a href=oppekava.asp?oppekava=&aste=" & _
   Server.URLEncode(kuulajad("aste")) & _
   "&otsing=aste&kohus=molemad>"
  'Viide õppekava konkreetse astme ainetele:
  kavastlink = "<a href=oppekava.asp?oppekava=" & _
   Server.URLEncode(kuulajad("õppekava")) & "&aste=" & _
   Server.URLEncode(kuulajad("aste")) & _
   "&otsing=kavajaaste&kohus=molemad>"

  'Kui õppekava vahetub:
  if eelkava <> kuulajad("õppekava") then
   'Kui aste pole 'üldine', väljastatakse õppekava ja aste,
   'muidu väljastatakse ainult õppekava:
   if kuulajad("aste") <> " " then
    Response.Write kavlink & kuulajad("õppekava") & "</a>" & _
   koolon & kavastlink & kuulajad("aste") & "</a>"
   else
    Response.Write kavlink & kuulajad("õppekava") & "</a>"
   end if

   'Kui õppekava pole tühi, siis eelmine kava saab väärtuseks õppekava,
   'muidu saab ta väärtuseks tühja stringi:
   if not(IsNull(kuulajad("õppekava"))) then
    eelkava = kuulajad("õppekava")
   else
    eelkava = ""
   end if
  'õppekava ei vahetu:
  else
   'Kui õppekava pole väljastatakse link astme ainetele, muidu
   'õppekava astme ainetele:
   if IsNull(kuulajad("õppekava")) then
    Response.Write astlink
   else
    Response.Write kavastlink
   end if
   'Astme väljastus:
   Response.Write kuulajad("aste") & "</a>"
  end if 'õppekava vahetus

  'Viimase õppekava (astme) korral ei väljastata koma:
  if count <> recount then
   Response.Write ", "
  end if

  kuulajad.MoveNext
loop 'tsükkel väljastuseks

'Kuulajate päringu sulgemine:
kuulajad.close
Response.Write vbNewLine & "</b></i>" & vbNewLine

'Õppekavad, kus aine ei ole kohustuslik
'Päringustring:
Paring = "select õppekava, aste from Kuulajaskond, DBA_aste " & _
   "where Kuulajaskond.aine = " & ainekood & " and " & _
   "Kuulajaskond.aste = DBA_aste.nimi and " & _
   "Kuulajaskond.kohustus = 0 and " & _
   "(Kuulajaskond.õppekava is not null or " & _
   "Kuulajaskond.aste is not null) " & _
   "order by Kuulajaskond.õppekava, DBA_aste.kood"
'Päring andmebaasis:
Set kuulajad = yhendus.Execute(Paring)

'Väljade lugemine:
recount = 0
do while not kuulajad.EOF
  recount = recount + 1
  kuulajad.MoveNext
loop
if recount then kuulajad.MoveFirst

'Väljade lugemine:
recount = 0
do while not kuulajad.EOF
  recount = recount + 1
  kuulajad.MoveNext
loop

'Kui mõni õppekava leidub, siis minnakse algusse tagasi:
if recount then kuulajad.MoveFirst

'Väljastus
'Kuna õppekavas võib ka astmeid olla, siis on vaja kontrollida eelmist
'õppekava. Selleks on muutuja eelkava. Muutuja count on koma väljastuse
'kontrollimiseks.
count = 0
eelkava = ""

if not kuulajad.EOF then%>

<li>Aine on valikaine järgmis(t)es õppekava(de)s (ja astme(te)s): <i>
<%end if

do while not kuulajad.EOF
  count = count + 1

  'Koolon väljastatakse kui õppekavaga kaasneb aste ja õppekava pole tühi:
  if (kuulajad("aste") <> " ") And Not(IsNull(kuulajad("õppekava"))) then
   koolon = ": "
  else
   koolon = ""
  end if

  'Viide õppekava ainetele:
  kavlink = "<a href=oppekava.asp?oppekava=" & _
   Server.URLEncode(kuulajad("õppekava")) & _
   "&aste=&otsing=kava&kohus=molemad>"
  'Viide astme ainetele (kõik õppekavad):
  astlink = "<a href=oppekava.asp?oppekava=&aste=" & _
   Server.URLEncode(kuulajad("aste")) & _
   "&otsing=aste&kohus=molemad>"
  'Viide õppekava konkreetse astme ainetele:
  kavastlink = "<a href=oppekava.asp?oppekava=" & _
   Server.URLEncode(kuulajad("õppekava")) & "&aste=" & _
   Server.URLEncode(kuulajad("aste")) & _
   "&otsing=kavajaaste&kohus=molemad>"

  'Kui õppekava vahetub:
  if eelkava <> kuulajad("õppekava") then
   'Kui aste pole 'üldine', väljastatakse õppekava ja aste,
   'muidu väljastatakse ainult õppekava:
   if kuulajad("aste") <> " " then
    Response.Write kavlink & kuulajad("õppekava") & "</a>" & _
   koolon & kavastlink & kuulajad("aste") & "</a>"
   else
    Response.Write kavlink & kuulajad("õppekava") & "</a>"
   end if

   'Kui õppekava pole tühi, siis eelmine kava saab väärtuseks õppekava,
   'muidu saab ta väärtuseks tühja stringi:
   if not(IsNull(kuulajad("õppekava"))) then
    eelkava = kuulajad("õppekava")
   else
    eelkava = ""
   end if
  'õppekava ei vahetu:
  else
   'Kui õppekava pole väljastatakse link astme ainetele, muidu
   'õppekava astme ainetele:
   if IsNull(kuulajad("õppekava")) then
    Response.Write astlink
   else
    Response.Write kavastlink
   end if
   'Astme väljastus:
   Response.Write kuulajad("aste") & "</a>"
  end if 'õppekava vahetus

  'Viimase õppekava (astme) korral ei väljastata koma:
  if count <> recount then
   Response.Write ", "
  end if

  kuulajad.MoveNext
loop 'tsükkel väljastuseks

'Kuulajate päringu sulgemine:
kuulajad.close

Response.Write vbNenLine & "</i><p>" & vbNewLine

'Eeldusained

'Kohustuslikud:
'Päringustring:
Paring = "select teaduskond, instituut, oppetool, nr " & _
   "from dba_aine, dba_eeldus where " & _
   "dba_aine.kood = dba_eeldus.eeldusaine and " & _
   "dba_eeldus.aine = " & ainekood & " and " & _
   "dba_eeldus.tyyp <> 0 " & _
   "order by teaduskond, instituut, oppetool, nr"

'Päring andmebaasis:
Set eeldus = yhendus.Execute(Paring)

'Väljade lugemine:

recount = 0
do while not eeldus.EOF
  recount = recount + 1
  eeldus.MoveNext
loop

'Kui mõni eeldusaine leidus, siis minnakse algusse tagasi:
if recount then eeldus.MoveFirst

'Väljastus:
'Alguse väljastus:
if not eeldus.EOF then
  if recount = 1 then%>

<li>Kohustuslik eeldusaine:
<%else%>
<li>Kohustuslikud eeldusained:
<%end if
end if

'Ainete väljastus (koodid):
count = 0
do while not eeldus.EOF
  count = count + 1
%>
<a href=aine.asp?<%=eeldus("teaduskond")&eeldus("instituut")&"."&eeldus("oppetool")&"."&eeldus("nr")%>><i><b><%=eeldus("teaduskond")&eeldus("instituut")&"."&eeldus("oppetool")&"."&eeldus("nr")%></b></i></a><%
  'Viimase järel koma ei väljastata:
  if count <> recount then
   Response.Write ", " & vbNewLine
  end if
  eeldus.MoveNext
Loop 'tsükkel

'Eeldusainete päringu sulgemine:
eeldus.close

'Soovituslikud:
'Päringustring:
Paring = "select teaduskond, instituut, oppetool, nr " & _
   "from dba_aine, dba_eeldus where " & _
   "dba_aine.kood = dba_eeldus.eeldusaine and " & _
   "dba_eeldus.aine = " & ainekood & " and " & _
   "dba_eeldus.tyyp = 0 " & _
   "order by teaduskond, instituut, oppetool, nr"

'Päring andmebaasis:
Set eeldus = yhendus.Execute(Paring)

'Väljade lugemine:

recount = 0
do while not eeldus.EOF
  recount = recount + 1
  eeldus.MoveNext
loop

'Kui mõni eeldusaine leidus, siis minnakse algusse tagasi:
if recount then eeldus.MoveFirst

'Väljastus:
'Alguse väljastus:
if not eeldus.EOF then
  if recount = 1 then%>

<li>Soovituslik eeldusaine:
<%else%>
<li>Soovituslikud eeldusained:
<%end if
end if

'Ainete väljastus:
count = 0
do while not eeldus.EOF
  count = count + 1
%>
<a href=aine.asp?<%=eeldus("teaduskond")&eeldus("instituut")&"."&eeldus("oppetool")&"."&eeldus("nr")%>><i><%=eeldus("teaduskond")&eeldus("instituut")&"."&eeldus("oppetool")&"."&eeldus("nr")%></i></a><%
  'Viimase aine järel koma ei väljastata:
  if count <> recount then
   Response.Write ", " & vbNewLine
  end if
  eeldus.MoveNext
Loop 'tsükkel

'Eeldusainete päringu sulgemine:
eeldus.close

'Annotatsioon
'Päringustring:
Paring = "select annotatsioon from dba_sisu where " & _
   "aine = " & ainekood & " and lopetus is Null"

'Päring andmebaasis:
Set sisu = yhendus.Execute(Paring)

'Väljastus:
%>

</ul>
<%=sisu("annotatsioon")%>
<%
'Annotatsiooni päringu sulgemine:
sisu.close

'Kui aine võib toimuda (pole lõpetatud), siis on ajakavaga vaja tegeleda:
if not eitoimu then%>

<hr>
<%
  'Kui ajakava puudub, siis aine ei toimu sel aastal:
  if ajakava.EOF then%>

<font size=+1><b>!</b></font> <%=JooksevAasta&"/"&JargmAasta%>  &otilde;a. ei toimu
<%else
   'Ajakava väljastatakse tabelisse:
   Response.Write "<table>" & vbNewLine
   Response.Write "<tr><td>Toimumiskava " & Jooksevaasta & "/" & JargmAasta & " õa.:</td>" & vbNewLine

   'Väljastus:
   count = 0
   do while not ajakava.EOF
    count = count + 1
    'Esimesse ritta väljastati esimesse lahtrisse ülalpool, teistes
    'ridades jääb see lahter tühjaks:
    if count > 1 then
     Response.Write "<tr><td></td>" & vbNewLine
    end if

    'Toimumise aeg:
    'Kui aine on tavaline (tüüp N), siis rakendatakse funktsiooni nadalad:
    if ajakava("tyyp") = "N" then
     Response.Write "<td>" & nadalad(ajakava("alg"),ajakava("lopp")) & "</td>" & vbNewLine
    'Korduva aine korral (tüüp K) rakendatakse funktsiooni korduv:
    elseif ajakava("tyyp") = "K" then
     Response.Write "<td>" & korduv(ajakava("lopp")) & "</td>" & vbNewLine
    'Kui ajakava pole teada (tüüp U) rakendatakse funktsiooni kuu:
    elseif ajakava("tyyp") = "U" then
     Response.Write "<td>" & kuu(ajakava("alg"),ajakava("lopp")) & "</td>" & vbNewLine
    end if

    'Nädalas loenguid, praktikume, seminare:
    Response.Write "<td>" & nadal(ajakava("loengutund"),ajakava("praksitund"),ajakava("seminaritund"),ajakava("praksikohustus"),ajakava("seminarikohustus")) & "</td>" & vbNewLine

    'Kontrolltöid, referaate:
    Response.Write "<td>" & kontroll(ajakava("kt_arv"),ajakava("ref_arv")) & "</td>" & vbNewLine

    'Aine lõpeb (selles tsüklis) eksami/arvestusega:
    Response.Write "<td>" & loppexam(ajakava("eksam"),ajakava("arvestus")) & "</td></tr>" & vbNewLine
    ajakava.MoveNext
   loop 'tsükkel

   'Tabeli sulgemine:
   Response.Write "</table>"

   'Ajakava päringu sulgemine:
   ajakava.close
  end if 'ajakava.EOF
end if 'lõpetatuse kontroll

'Ühenduse sulgemine:
yhendus.close

'Ajakava jaoks funktsioonide faili sisselugemine:%>

<!--#INCLUDE  file="toimumisfunc.inc"-->
<!--#INCLUDE  file="footer.htm"-->