%@ ENABLESESSIONSTATE=False%>
<%
'
'Get subject category from URL
strSubject = Request.QueryString("subject")
strLocation = Request.QueryString("location")
strAccess = Request.QueryString("authorization")
strTest = Request.QueryString("test")
strBuildZ39 = Request.QueryString("bZ39")
'Establish connection to database
set conn = server.createobject("ADODB.Connection") 'establish ODBC connection
conn.open "RefDatabases"
'Now build record set of all databases matching subject category and filters
if (strLocation <> "offcampus") AND (strAccess <> "Ugrad") then
strQuery = "SELECT Databases.Database_Name, Databases.PURL, Databases.Citrix, Databases.DRAname, Databases.Z39attributes, [Details (child table)]![URLprefix]+[Details (child table)]![URLunique] AS URL, [Format (lookup table)].Type, [Subjects (lookup table)].Explanation, [AccessGroups (lookup table)].AccessGroup, [Format (lookup table)].Type FROM [Subjects (lookup table)] INNER JOIN ([Format (lookup table)] INNER JOIN ((Databases INNER JOIN ([AccessGroups (lookup table)] INNER JOIN [Details (child table)] ON [AccessGroups (lookup table)].ID = [Details (child table)].AccessGroup) ON Databases.ID = [Details (child table)].Database_ID) INNER JOIN [Subjects (child table)] ON Databases.ID = [Subjects (child table)].Database_ID) ON [Format (lookup table)].type_id = [Details (child table)].Format_ID) ON [Subjects (lookup table)].ID = [Subjects (child table)].Subjects_ID WHERE ((([Subjects (lookup table)].Subject)= '" & strSubject & "')) ORDER BY Databases.Database_Name;"
end if
if (strLocation <> "offcampus") AND (strAccess = "Ugrad") then
strQuery = "SELECT Databases.Database_Name, Databases.PURL, Databases.Citrix, Databases.DRAname, Databases.Z39attributes, [Details (child table)]![URLprefix]+[Details (child table)]![URLunique] AS URL, [Format (lookup table)].Type, [Subjects (lookup table)].Explanation, [AccessGroups (lookup table)].AccessGroup, [Format (lookup table)].Type FROM [AccessGroups (lookup table)] INNER JOIN ([Subjects (lookup table)] INNER JOIN ([Format (lookup table)] INNER JOIN ((Databases INNER JOIN [Details (child table)] ON Databases.ID = [Details (child table)].Database_ID) INNER JOIN [Subjects (child table)] ON Databases.ID = [Subjects (child table)].Database_ID) ON [Format (lookup table)].type_id = [Details (child table)].Format_ID) ON [Subjects (lookup table)].ID = [Subjects (child table)].Subjects_ID) ON [AccessGroups (lookup table)].ID = [Details (child table)].AccessGroup WHERE (([Subjects (lookup table)].Subject = '" & strSubject & "') AND ([AccessGroups (lookup table)].AccessGroup<>'Faculty & Grads') ) ORDER BY Databases.Database_Name;"
end if
if (strLocation = "offcampus") AND (strAccess <> "Ugrad") then
strQuery = "SELECT Databases.Database_Name, Databases.PURL, Databases.Citrix, Databases.DRAname, Databases.Z39attributes, [Details (child table)]![URLprefix]+[Details (child table)]![URLunique] AS URL, [Format (lookup table)].Type, [Subjects (lookup table)].Explanation, [AccessGroups (lookup table)].AccessGroup, [Format (lookup table)].Type FROM [AccessGroups (lookup table)] INNER JOIN ([Subjects (lookup table)] INNER JOIN ([Format (lookup table)] INNER JOIN ((Databases INNER JOIN [Details (child table)] ON Databases.ID = [Details (child table)].Database_ID) INNER JOIN [Subjects (child table)] ON Databases.ID = [Subjects (child table)].Database_ID) ON [Format (lookup table)].type_id = [Details (child table)].Format_ID) ON [Subjects (lookup table)].ID = [Subjects (child table)].Subjects_ID) ON [AccessGroups (lookup table)].ID = [Details (child table)].AccessGroup WHERE (([Subjects (lookup table)].Subject = '" & strSubject & "') AND ([Format (lookup table)].Type<>'Reference CD') ) ORDER BY Databases.Database_Name;"
end if
if (strLocation = "offcampus") AND (strAccess = "Ugrad") then
strQuery = "SELECT Databases.Database_Name, Databases.PURL, Databases.Citrix, Databases.DRAname, Databases.Z39attributes, [Details (child table)]![URLprefix]+[Details (child table)]![URLunique] AS URL, [Format (lookup table)].Type, [Subjects (lookup table)].Explanation, [AccessGroups (lookup table)].AccessGroup, [Format (lookup table)].Type FROM [AccessGroups (lookup table)] INNER JOIN ([Subjects (lookup table)] INNER JOIN ([Format (lookup table)] INNER JOIN ((Databases INNER JOIN [Details (child table)] ON Databases.ID = [Details (child table)].Database_ID) INNER JOIN [Subjects (child table)] ON Databases.ID = [Subjects (child table)].Database_ID) ON [Format (lookup table)].type_id = [Details (child table)].Format_ID) ON [Subjects (lookup table)].ID = [Subjects (child table)].Subjects_ID) ON [AccessGroups (lookup table)].ID = [Details (child table)].AccessGroup WHERE (([Subjects (lookup table)].Subject = '" & strSubject & "') AND ([AccessGroups (lookup table)].AccessGroup<>'Faculty & Grads') AND ([Format (lookup table)].Type<>'Reference CD') ) ORDER BY Databases.Database_Name;"
end if
set RS = conn.execute(strQuery)
'Check to see if Web2 screen for this subject area needs to be rebuilt and create an
'object to open and write a new file if necessary.
Dim fsFileSystem
Dim filScr, filDbase
Set fsFileSystem = Server.CreateObject("Scripting.FileSystemObject")
strTmp = "C:\Taos\Web2\HTML\subject\" & strSubject & ".html" 'Filename will be same as subject name in database
'These commands should work according to the MS docs, but they don't; for now just rebuild
'the Web2 screens on each access 6/16/1999 - k.b.
'filScr = fsFileSystem.GetFile("C:\InetPub\Db\Reference\RefDatabases.mdb")
'filDbase = fsFileSystem.GetFile(strTmp)
'if filDbase.DateModified > filScr.DateModified Then
'11/15/99 - only rebuild Z39.50 screens if bZ39 set to true. If rebuilding screens, make sure
'filter is set to display all databases, not just undergrad. Don't turn off entire loop when
'bZ39 not true, because this loop is where we count how many databases are in each format.
if (strBuildZ39 = "true") then
Const ForWriting = 2 'open file for write access
Const TristateFalse = 0 'ascii format
Dim filWeb2
Dim strTmp
fsFileSystem.CreateTextFile(strTmp)
Set filWeb2 = fsFileSystem.OpenTextFile(strTmp, ForWriting, TristateFalse)
'Write beginning of table
filWeb2.WriteLine "
"
intCol = 1 'Divide table into 3 columns using this as counter
'Count each type of resource, so that below we don't build tables for empty categories
End If
iZ39cnt = 0
iWebcnt = 0
iCDNETcnt = 0
iCDLOCcnt = 0
Do While not RS.eof
if RS("Type") = "Web only" then iWebcnt = iWebcnt+1
if RS("Type") = "Networked CD" then iCDNETcnt = iCDNETcnt+1
if RS("Type") = "Reference CD" then iCDLOCcnt = iCDLOCcnt+1
If (strBuildZ39 = "true") Then
If RS("Type") = "Z39.50" Then
iZ39cnt = iZ39cnt + 1
If (intCol > 3) Then 'Start new row after 3 column
filWeb2.WriteLine ""
intCol = 1
Else
intCol = intCol+1
if RS("AccessGroup") = "Faculty & Grads" then 'Bracket restricted databases with a DRA_IF
filWeb2.Writeline ""
end if
filWeb2.Writeline "| "
filWeb2.Writeline ""
iLen = Len(RS("Z39attributes"))
if iLen >= 11 then strAttr = Mid(RS("Z39attributes"), 10, iLen-9) 'Don't display "AU,TI,SU,"
filWeb2.Writeline "" & RS("Database_Name") & ""
if iLen >= 11 then filWeb2.Writeline "" & strAttr & ""
filWeb2.Writeline " | "
if RS("AccessGroup") = "Faculty & Grads" then 'Bracket restricted databases with a DRA_IF
filWeb2.Writeline ""
end if
If (intCol > 3) Then filWeb2.Writeline("
")
RS.MoveNext
End If
Else
RS.MoveNext
End If
Else
if RS("Type") = "Z39.50" Then iZ39cnt = iZ39cnt+1
RS.MoveNext
End If
Loop
If (strBuildZ39 = "true") then
If (intCol > 3) Then filWeb2.Writeline("")
filWeb2.Writeline("
")
filWeb2.Close
End If
' End If
%>
<% RS.MoveFirst 'Might have already looped through RS in constructing Web2 screen %>
<% =RS("Explanation")%>
<%
if iZ39cnt > 0 then 'Avoid creating table if there is nothing to put in it
Response.Write ""
Response.Write "| "
'Construct URL for Web2 access, using "Explanation" field from database for title
'URLencode any strings that might contain spaces
strWeb2 = "http://libnt1.is.tcu.edu/web2/tramp2.exe/log_in?SETTING_KEY=subject&*pn=" & Server.URLEncode(RS("Explanation")) & "&*subject=" & Server.URLEncode(strSubject) & "&servers="1home"e;"
' strWeb2 = "http://libnt1.is.tcu.edu/web2/tramp2.exe/log_in?SETTING_KEY=subject&*pn=" & Server.URLEncode(RS("Explanation")) & "&*subject=" & Server.URLEncode(strSubject)
' Do While not RS.eof
' If RS("Type") = "Z39.50" Then
' strWeb2 = strWeb2 & "&servers="" & RS("DRAname") & """
' End If
' RS.MoveNext
' Loop
Response.Write ""
Response.Write "Web Databases As Group"
Response.Write " | "
Response.Write ""
Response.Write "Any combination of the databases below can be searched simultaneously with the same software used for searching the TCU library catalog. Click "Web Databases as Group" to do this. If you would rather search a database using the vendor's software, click on the database name below."
Response.Write " | "
Response.Write "
"
Response.Write ""
Response.Write "| "
Response.Write " "
Response.Write "help with this category"
Response.Write " | "
Response.Write ""
Response.Write ""
'Now write out Z39.50 databases
RS.MoveFirst
intCol = 1 'Divide table into 3 columns using this as counter
Do While not RS.eof
If RS("Type") = "Z39.50" Then
If (intCol > 3) Then 'Start new row after 3 column
Response.Write ""
intCol = 1
Else
intCol = intCol+1
Response.Write "| "
strURL = RS("URL")
if RS("PURL") > " " then
strURL = "http://lib.tcu.edu/PURL/dbase.asp?" & RS("PURL")
end if
Response.Write "" & RS("Database_Name") & " ("
Response.Write "?)"
Response.Write " | "
If (intCol > 3) Then Response.Write(" ")
RS.MoveNext
End If
Else
RS.MoveNext
End If
Loop
Response.Write " "
Response.Write " | "
Response.Write "
"
Response.Write ""
'Divider between Z39.50 and Web-only group -->
Response.Write "
| "
Response.Write "
"
end if
If iWebcnt > 0 then
Response.Write ""
Response.Write "| Other Web Databases | "
Response.Write "(These cannot be searched as a group. Click on the database name to use it.) | "
Response.Write "
"
Response.Write ""
Response.Write "help with this category | "
Response.Write ""
Response.Write ""
'Now display Web-only databases
RS.MoveFirst
intCol = 1
Do While not RS.eof
If RS("Type") = "Web only" Then
If (intCol > 3) Then
Response.Write ""
intCol = 1
Else
intCol = intCol+1
Response.Write "| "
strURL = RS("URL")
if RS("PURL") > " " then
strURL = "http://lib.tcu.edu/PURL/dbase.asp?" & RS("PURL")
end if
Response.Write "" & RS("Database_Name") & " ("
Response.Write "?)"
Response.Write " | "
If (intCol > 3) Then Response.Write(" ")
RS.MoveNext
End If
Else
RS.MoveNext
End If
Loop
Response.Write " "
Response.Write " | "
Response.Write "
"
Response.Write ""
Response.Write "
| "
Response.Write "
"
end if
if iCDNETcnt > 0 then
Response.Write ""
Response.Write "| Networked CDrom Databases | "
Response.Write "These databases can be accessed from any networked PC on campus (except dorm rooms), with limited availability off-campus. | "
Response.Write "
"
Response.Write ""
Response.Write "help with this category | "
Response.Write ""
Response.Write ""
'Now display Networked CD-ROM databases
RS.MoveFirst
intCol = 1
Do While not RS.eof
If RS("Type") = "Networked CD" Then
If (intCol > 3) Then
Response.Write ""
intCol = 1
Else
intCol = intCol+1
Response.Write "| "
if (strTest = "true") AND (Instr(RS("URL"), ".asp") <> 0) then
Response.Write "" & RS("Database_Name") & " ("
Else
Response.Write "" & RS("Database_Name") & " ("
End If
Response.Write "?)"
Response.Write " | "
strWeb2 = strWeb2 & "&servers="" & RS("DRAname") & """
If (intCol > 3) Then Response.Write(" ")
RS.MoveNext
End If
Else
RS.MoveNext
End If
Loop
Response.Write " "
Response.Write " | "
Response.Write "
"
Response.Write ""
Response.Write "
| "
Response.Write "
"
end if
if iCDLOCcnt > 0 then
Response.Write ""
Response.Write "| Non-networked CDroms | "
Response.Write "To use these databases, you will need to come to the location indicated and check them out. | "
Response.Write "
"
Response.Write ""
Response.Write "help with this category | "
Response.Write ""
Response.Write ""
'Now display non-networked CD-ROM databases
RS.MoveFirst
intCol = 1
Do While not RS.eof
If RS("Type") = "Reference CD" Then
If (intCol > 3) Then
Response.Write ""
intCol = 1
Else
intCol = intCol+1
Response.Write "| "
Response.Write "" & RS("Database_Name") & " ("
Response.Write "?)"
Response.Write " | "
strWeb2 = strWeb2 & "&servers="" & RS("DRAname") & """
If (intCol > 3) Then Response.Write(" ")
RS.MoveNext
End If
Else
RS.MoveNext
End If
Loop
Response.Write " "
Response.Write " | "
Response.Write "
"
End if
%>
<% conn.close %>