%@ EnableSessionState=False %> <% option explicit Dim strConnect %>
Click headings [A-Z] or [ascending] to sort the author(s) or year column. Currently sorted <% Dim strCriteria, strItem, strSearch, strMessage, strSort Dim objConn, objRS, objSQLStmt set objConn = Server.CreateObject("ADODB.Connection") Set objSQLStmt = Server.CreateObject("ADODB.Command") objConn.ConnectionTimeout = 15 objConn.CommandTimeout = 30 objConn.Open strConnect set objRS = Server.CreateObject("ADODB.Recordset") 'strItem=Request.QueryString("Item") Set objSQLStmt.ActiveConnection = objConn strSort=Request.QueryString("Sort") 'objRS.Open "qryLitDetails", objConn, adOpenForwardOnly, adLockReadOnly, adCmdStoredProc 'On Error Resume Next Dim strAuthor, strYear, strTitle, strAndSearch, strCounter, strVolume Dim strPages, strStartPage, strEndPage, strNumPages, strType, strKeywords, strSpace Dim blnGotCriteria, strID, strKeyword Dim foundsort strSpace=" " strKeyword = Request.QueryString("Keyword") strStartrow= Request.QueryString("startrow") strQuery = Request.QueryString foundsort=instr(strQuery,"&Sort") If foundsort > 0 then strQuery = left(strQuery, foundsort-1) End If strSearch="You searched for " strCounter=0 strCriteria="" If (strKeyword <> "") Then blnGotCriteria=True strCriteria=strCriteria & "Keywords.Value like '%" & strKeyword & "%'" strSearch=strSearch & " Keyword = " & strKeyword & "" End If Dim intRefNo, strStartrow, intStartrow, strRows, strNumRecords, strQuery If strCriteria <> "" Then Select Case (strSort) Case "alpha" Response.write "alphabetically by author.
" objSQLStmt.CommandText = "SELECT Literature.RefID, Literature.YearPub, Literature.Title, Literature.Author, Keywords.Value, Type.Type FROM ((literature.Keywords RIGHT JOIN literature.LinkKeywords ON Keywords.KeywordID = LinkKeywords.KeywordID) RIGHT JOIN literature.Literature ON literature.LinkKeywords.RefID = literature.Literature.RefID) LEFT JOIN literature.Type ON Literature.TypeID = Type.TypeID WHERE " & strCriteria & " ORDER BY Literature.Author, Literature.YearPub;" objSQLStmt.CommandType = 1 objRS.CursorType=1 objRS.Open objSQLStmt Case else Response.write "by year of publication." objSQLStmt.CommandText = "SELECT Literature.RefID, Literature.YearPub, Literature.Title, Literature.Author, Keywords.Value, Type.Type FROM ((literature.Keywords RIGHT JOIN literature.LinkKeywords ON Keywords.KeywordID = LinkKeywords.KeywordID) RIGHT JOIN literature.Literature ON literature.LinkKeywords.RefID = literature.Literature.RefID) LEFT JOIN literature.Type ON Literature.TypeID = Type.TypeID WHERE " & strCriteria & " ORDER BY Literature.YearPub, Literature.Author;" objSQLStmt.CommandType = 1 objRS.CursorType=1 objRS.Open objSQLStmt End Select If objRS.EOF = False Then Dim aFields, intLastRow, intPage, i aFields=Array("RefID","Author","YearPub","Title","Type") strRows=objRS.GetRows (adGetRowsRest, adBookmarkCurrent, aFields) strNumRecords=Ubound(strRows,2) 'Response.Write "Query = " & strQuery & "
" & vbCrLf 'If strNumRecords > -1 Then Response.Write "" & strSearch & "
" & vbCrLf Response.Write "| " Response.Write " | |||||||||
| Author(s) [A-Z] | " & vbCrLf Response.Write "Year [ascending] | " & vbCrLf Response.Write "Title | " & vbCrLf Response.Write "Type | " & vbCrLf Response.Write "" Response.Write " | |||||
| " & strAuthor & " | " Response.Write "" & strYear & " | " Response.Write "" & strTitle & " | " Response.Write "" & strType & " | " Response.Write "Details... | " Response.Write "|||||
" & strNumRecords+1 & " references found.
" & vbCrLf ' paginate If strNumRecords > 19 Then If instr(strQuery,"startrow") > 0 Then strQuery = left(strQuery,instr(strQuery,"startrow")-2) Dim intNewStart Response.Write "Page:" & vbCrLf For i = 1 to Int((strNumRecords/20)+1) intNewStart = (i*20)-19 If intPage = i Then Response.Write " " & i & "" Else Response.Write " " & i & "" End If Next End If ' more than 20 records? ' records found Response.Write "
" & vbCrLf 'Response.Write "" & strCounter & " records matched your search.
" Else 'this else belongs to If objRS.EOF = False then 'no records found Response.Write "No references found
" End If Else Response.Write "No criteria passed - you didn't fill in any of the boxes!
" End If Set objSQLStmt = Nothing objRS.Close set objRS=Nothing objConn.Close set objConn=Nothing %>| Copyright © National Museums Northern Ireland, 2004-8 |