<% Response.expires = 0 Response.expiresabsolute = Now() - 1 Response.addHeader "pragma", "no-cache" Response.addHeader "cache-control", "private" Response.addHeader "cache-control", "no-cache" Response.addHeader "cache-control", "no-store" Response.CacheControl = "no-cache" %> <% ewCurSec = 0 ' Initialise ' User levels Const ewAllowAdd = 1 Const ewAllowDelete = 2 Const ewAllowEdit = 4 Const ewAllowView = 8 Const ewAllowList = 8 Const ewAllowReport = 8 Const ewAllowSearch = 8 Const ewAllowAdmin = 16 %> <% ' Initialize common variables x_ID = Null: ox_ID = Null x_ACCNO = Null: ox_ACCNO = Null x_TITLE = Null: ox_TITLE = Null x_AUTHOR = Null: ox_AUTHOR = Null x_SUBJECT = Null: ox_SUBJECT = Null x_PUBLISHER = Null: ox_PUBLISHER = Null x_CL_NOM = Null: ox_CL_NOM = Null x_YEAR = Null: ox_YEAR = Null x_ED = Null: ox_ED = Null x_VOLNUM = Null: ox_VOLNUM = Null x_PAGES_N = Null: ox_PAGES_N = Null x_SUPPLIER = Null: ox_SUPPLIER = Null x_INV_SUPP_N = Null: ox_INV_SUPP_N = Null x_PRICE = Null: ox_PRICE = Null x_CURNCY = Null: ox_CURNCY = Null x_BRANCH = Null: ox_BRANCH = Null x_DATE = Null: ox_DATE = Null x_ISBN1 = Null: ox_ISBN1 = Null x_DDATE = Null: ox_DDATE = Null x_SNO = Null: ox_SNO = Null %> <% nStartRec = 0 nStopRec = 0 nTotalRecs = 0 nRecCount = 0 nRecActual = 0 sDbWhereMaster = "" sDbWhereDetail = "" sSrchAdvanced = "" sSrchBasic = "" sSrchWhere = "" sDbWhere = "" sDefaultOrderBy = "" sDefaultFilter = "" sWhere = "" sGroupBy = "" sHaving = "" sOrderBy = "" sSqlMasterBase = "" sSqlMaster = "" nDisplayRecs = 20 nRecRange = 10 ' Open connection to the database Set conn = Server.CreateObject("ADODB.Connection") conn.Open xDb_Conn_Str ' Handle Reset Command ResetCmd() ' Get Search Criteria for Advanced Search SetUpAdvancedSearch() ' Get Search Criteria for Basic Search SetUpBasicSearch() ' Build Search Criteria If sSrchAdvanced <> "" Then sSrchWhere = sSrchAdvanced ' Advanced Search ElseIf sSrchBasic <> "" Then sSrchWhere = sSrchBasic ' Basic Search End If ' Save Search Criteria If sSrchWhere <> "" Then Session("book_by_sub_searchwhere") = sSrchWhere ' Reset start record counter (new search) nStartRec = 1 Session("book_by_sub_REC") = nStartRec Else sSrchWhere = Session("book_by_sub_searchwhere") End If ' Build SQL sSql = "SELECT * FROM [book by sub]" ' Load Default Filter sDefaultFilter = "" sGroupBy = "" sHaving = "" ' Load Default Order sDefaultOrderBy = "" ' Build WHERE condition sDbWhere = "" If sDbWhereDetail <> "" Then sDbWhere = sDbWhere & "(" & sDbWhereDetail & ") AND " End If If sSrchWhere <> "" Then sDbWhere = sDbWhere & "(" & sSrchWhere & ") AND " End If If Len(sDbWhere) > 5 Then sDbWhere = Mid(sDbWhere, 1, Len(sDbWhere)-5) ' Trim rightmost AND End If sWhere = "" If sDefaultFilter <> "" Then sWhere = sWhere & "(" & sDefaultFilter & ") AND " End If If sDbWhere <> "" Then sWhere = sWhere & "(" & sDbWhere & ") AND " End If If Right(sWhere, 5) = " AND " Then sWhere = Left(sWhere, Len(sWhere)-5) If sWhere <> "" Then sSql = sSql & " WHERE " & sWhere End If If sGroupBy <> "" Then sSql = sSql & " GROUP BY " & sGroupBy End If If sHaving <> "" Then sSql = sSql & " HAVING " & sHaving End If ' Set Up Sorting Order sOrderBy = "" SetUpSortOrder() If sOrderBy <> "" Then sSql = sSql & " ORDER BY " & sOrderBy End If 'Response.Write sSql ' Uncomment to show SQL for debugging %> <% ' Set up Record Set Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 3 rs.Open sSql, conn, 1, 2 nTotalRecs = rs.RecordCount If nDisplayRecs <= 0 Then ' Display All Records nDisplayRecs = nTotalRecs End If nStartRec = 1 SetUpStartRec() ' Set Up Start Record Position %>
   Show all   Advanced Search
Exact phrase  All words  Any word
<% If Session("ewmsg") <> "" Then %>

<%= Session("ewmsg") %>

<% Session("ewmsg") = "" ' Clear message End If %> <% If nTotalRecs > 0 Then %>
<% ' Avoid starting record > total records If CLng(nStartRec) > CLng(nTotalRecs) Then nStartRec = nTotalRecs End If ' Set the last record to display nStopRec = nStartRec + nDisplayRecs - 1 ' Move to first record directly for performance reason nRecCount = nStartRec - 1 If Not rs.Eof Then rs.MoveFirst rs.Move nStartRec - 1 End If nRecActual = 0 Do While (Not rs.Eof) And (nRecCount < nStopRec) nRecCount = nRecCount + 1 If CLng(nRecCount) >= CLng(nStartRec) Then nRecActual = nRecActual + 1 ' Set row color sItemRowClass = " bgcolor=""#FFFFFF""" sListTrJs = " onmouseover='ew_mouseover(this);' onmouseout='ew_mouseout(this);' onclick='ew_click(this);'" ' Display alternate color for rows If nRecCount Mod 2 <> 1 Then sItemRowClass = " bgcolor=""#F5F5F5""" End If x_ID = rs("ID") x_ACCNO = rs("ACCNO") x_TITLE = rs("TITLE") x_AUTHOR = rs("AUTHOR") x_SUBJECT = rs("SUBJECT") x_PUBLISHER = rs("PUBLISHER") x_CL_NOM = rs("CL_NOM") x_YEAR = rs("YEAR") x_ED = rs("ED") x_VOLNUM = rs("VOLNUM") x_PAGES_N = rs("PAGES_N") x_SUPPLIER = rs("SUPPLIER") x_INV_SUPP_N = rs("INV_SUPP_N") x_PRICE = rs("PRICE") x_CURNCY = rs("CURNCY") x_BRANCH = rs("BRANCH") x_DATE = rs("DATE") x_ISBN1 = rs("ISBN1") x_DDATE = rs("DDATE") x_SNO = rs("SNO") %> <%=sListTrJs%>> <% End If rs.MoveNext Loop %>
" class="aspmaker" style="color: #FFFFFF;">TITLE (*)<% If Session("book_by_sub_x_TITLE_Sort") = "ASC" Then %><% ElseIf Session("book_by_sub_x_TITLE_Sort") = "DESC" Then %><% End If %> " class="aspmaker" style="color: #FFFFFF;">AUTHOR (*)<% If Session("book_by_sub_x_AUTHOR_Sort") = "ASC" Then %><% ElseIf Session("book_by_sub_x_AUTHOR_Sort") = "DESC" Then %><% End If %> " class="aspmaker" style="color: #FFFFFF;">SUBJECT (*)<% If Session("book_by_sub_x_SUBJECT_Sort") = "ASC" Then %><% ElseIf Session("book_by_sub_x_SUBJECT_Sort") = "DESC" Then %><% End If %> " class="aspmaker" style="color: #FFFFFF;">YEAR (*)<% If Session("book_by_sub_x_YEAR_Sort") = "ASC" Then %><% ElseIf Session("book_by_sub_x_YEAR_Sort") = "DESC" Then %><% End If %>  
<% Response.Write x_TITLE %> <% Response.Write x_AUTHOR %> <% Response.Write x_SUBJECT %> <% Response.Write x_YEAR %> ">View
<% End If %> <% ' Close recordset and connection rs.Close Set rs = Nothing conn.Close Set conn = Nothing %>
<% If nTotalRecs > 0 Then rsEof = (nTotalRecs < (nStartRec + nDisplayRecs)) PrevStart = nStartRec - nDisplayRecs If PrevStart < 1 Then PrevStart = 1 NextStart = nStartRec + nDisplayRecs If NextStart > nTotalRecs Then NextStart = nStartRec LastStart = ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 %> <% If CLng(nStartRec)=1 Then %> <% Else %> <% End If %> <% If CLng(PrevStart) = CLng(nStartRec) Then %> <% Else %> <% End If %> <% If CLng(NextStart) = CLng(nStartRec) Then %> <% Else %> <% End If %> <% If CLng(LastStart) = CLng(nStartRec) Then %> <% Else %> <% End If %>
Page  FirstFirstPreviousPrevious NextNextLastLast of <%=(nTotalRecs-1)\nDisplayRecs+1%>
<% If CLng(nStartRec) > CLng(nTotalRecs) Then nStartRec = nTotalRecs nStopRec = nStartRec + nDisplayRecs - 1 nRecCount = nTotalRecs - 1 If rsEOF Then nRecCount = nTotalRecs If nStopRec > nRecCount Then nStopRec = nRecCount %> Records <%= nStartRec %> to <%= nStopRec %> of <%= nTotalRecs %> <% Else %> No records found <% End If %>
<% '------------------------------------------------------------------------------- ' Function SetUpAdvancedSearch ' - Set up Advanced Search parameter based on querystring parameters from Advanced Search Page ' - Variables setup: sSrchAdvanced Sub SetUpAdvancedSearch() Dim arrFldOpr ' Field TITLE x_TITLE = Request.QueryString("x_TITLE") z_TITLE = Request.QueryString("z_TITLE") arrFldOpr = Split(z_TITLE,",") If x_TITLE <> "" Then sSrchAdvanced = sSrchAdvanced & "[TITLE] " ' Add field sSrchAdvanced = sSrchAdvanced & arrFldOpr(0) & " " ' Add operator If UBound(arrFldOpr) >= 1 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(1) ' Add search prefix End If sSrchAdvanced = sSrchAdvanced & AdjustSql(x_TITLE) ' Add input parameter If UBound(arrFldOpr) >=2 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(2) ' Add search suffix End If sSrchAdvanced = sSrchAdvanced & " AND " End If ' Field AUTHOR x_AUTHOR = Request.QueryString("x_AUTHOR") z_AUTHOR = Request.QueryString("z_AUTHOR") arrFldOpr = Split(z_AUTHOR,",") If x_AUTHOR <> "" Then sSrchAdvanced = sSrchAdvanced & "[AUTHOR] " ' Add field sSrchAdvanced = sSrchAdvanced & arrFldOpr(0) & " " ' Add operator If UBound(arrFldOpr) >= 1 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(1) ' Add search prefix End If sSrchAdvanced = sSrchAdvanced & AdjustSql(x_AUTHOR) ' Add input parameter If UBound(arrFldOpr) >=2 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(2) ' Add search suffix End If sSrchAdvanced = sSrchAdvanced & " AND " End If ' Field SUBJECT x_SUBJECT = Request.QueryString("x_SUBJECT") z_SUBJECT = Request.QueryString("z_SUBJECT") arrFldOpr = Split(z_SUBJECT,",") If x_SUBJECT <> "" Then sSrchAdvanced = sSrchAdvanced & "[SUBJECT] " ' Add field sSrchAdvanced = sSrchAdvanced & arrFldOpr(0) & " " ' Add operator If UBound(arrFldOpr) >= 1 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(1) ' Add search prefix End If sSrchAdvanced = sSrchAdvanced & AdjustSql(x_SUBJECT) ' Add input parameter If UBound(arrFldOpr) >=2 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(2) ' Add search suffix End If sSrchAdvanced = sSrchAdvanced & " AND " End If ' Field CL_NOM x_CL_NOM = Request.QueryString("x_CL_NOM") z_CL_NOM = Request.QueryString("z_CL_NOM") arrFldOpr = Split(z_CL_NOM,",") If x_CL_NOM <> "" Then sSrchAdvanced = sSrchAdvanced & "[CL_NOM] " ' Add field sSrchAdvanced = sSrchAdvanced & arrFldOpr(0) & " " ' Add operator If UBound(arrFldOpr) >= 1 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(1) ' Add search prefix End If sSrchAdvanced = sSrchAdvanced & AdjustSql(x_CL_NOM) ' Add input parameter If UBound(arrFldOpr) >=2 Then sSrchAdvanced = sSrchAdvanced & arrFldOpr(2) ' Add search suffix End If sSrchAdvanced = sSrchAdvanced & " AND " End If If Len(sSrchAdvanced) > 4 Then sSrchAdvanced = Mid(sSrchAdvanced, 1, Len(sSrchAdvanced)-4) End If End Sub '------------------------------------------------------------------------------- ' Function BasicSearchSQL ' - Build WHERE clause for a keyword Function BasicSearchSQL(Keyword) Dim sKeyword sKeyword = AdjustSql(Keyword) BasicSearchSQL = "" If IsNumeric(sKeyword) Then BasicSearchSQL = BasicSearchSQL & "[ID] = " & sKeyword & " OR " BasicSearchSQL = BasicSearchSQL & "[TITLE] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[AUTHOR] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[SUBJECT] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[PUBLISHER] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[CL_NOM] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[YEAR] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[ED] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[SUPPLIER] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[INV_SUPP_N] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[CURNCY] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[BRANCH] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[DATE] LIKE '%" & sKeyword & "%' OR " BasicSearchSQL = BasicSearchSQL & "[ISBN1] LIKE '%" & sKeyword & "%' OR " If Right(BasicSearchSQL, 4) = " OR " Then BasicSearchSQL = Left(BasicSearchSQL, Len(BasicSearchSQL)-4) End Function '------------------------------------------------------------------------------- ' Function SetUpBasicSearch ' - Set up Basic Search parameter based on form elements pSearch & pSearchType ' - Variables setup: sSrchBasic Sub SetUpBasicSearch() Dim sSearch, sSearchType, arKeyword, sKeyword sSearch = Request.QueryString("psearch") sSearchType = Request.QueryString("psearchType") If sSearch <> "" Then If sSearchType <> "" Then While InStr(sSearch, " ") > 0 sSearch = Replace(sSearch, " ", " ") Wend arKeyword = Split(Trim(sSearch), " ") For Each sKeyword In arKeyword sSrchBasic = sSrchBasic & "(" & BasicSearchSQL(sKeyword) & ") " & sSearchType & " " Next Else sSrchBasic = BasicSearchSQL(sSearch) End If End If If Right(sSrchBasic, 4) = " OR " Then sSrchBasic = Left(sSrchBasic, Len(sSrchBasic)-4) If Right(sSrchBasic, 5) = " AND " Then sSrchBasic = Left(sSrchBasic, Len(sSrchBasic)-5) End Sub '------------------------------------------------------------------------------- ' Function SetUpSortOrder ' - Set up Sort parameters based on Sort Links clicked ' - Variables setup: sOrderBy, Session("Table_OrderBy"), Session("Table_Field_Sort") Sub SetUpSortOrder() Dim sOrder, sSortField, sLastSort, sThisSort Dim bCtrl ' Check for an Order parameter If Request.QueryString("order").Count > 0 Then sOrder = Request.QueryString("order") ' Field TITLE If sOrder = "TITLE" Then sSortField = "[TITLE]" sLastSort = Session("book_by_sub_x_TITLE_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("book_by_sub_x_TITLE_Sort") = sThisSort Else If Session("book_by_sub_x_TITLE_Sort") <> "" Then Session("book_by_sub_x_TITLE_Sort") = "" End If ' Field AUTHOR If sOrder = "AUTHOR" Then sSortField = "[AUTHOR]" sLastSort = Session("book_by_sub_x_AUTHOR_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("book_by_sub_x_AUTHOR_Sort") = sThisSort Else If Session("book_by_sub_x_AUTHOR_Sort") <> "" Then Session("book_by_sub_x_AUTHOR_Sort") = "" End If ' Field SUBJECT If sOrder = "SUBJECT" Then sSortField = "[SUBJECT]" sLastSort = Session("book_by_sub_x_SUBJECT_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("book_by_sub_x_SUBJECT_Sort") = sThisSort Else If Session("book_by_sub_x_SUBJECT_Sort") <> "" Then Session("book_by_sub_x_SUBJECT_Sort") = "" End If ' Field YEAR If sOrder = "YEAR" Then sSortField = "[YEAR]" sLastSort = Session("book_by_sub_x_YEAR_Sort") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session("book_by_sub_x_YEAR_Sort") = sThisSort Else If Session("book_by_sub_x_YEAR_Sort") <> "" Then Session("book_by_sub_x_YEAR_Sort") = "" End If Session("book_by_sub_OrderBy") = sSortField & " " & sThisSort Session("book_by_sub_REC") = 1 End If sOrderBy = Session("book_by_sub_OrderBy") If sOrderBy = "" Then sOrderBy = sDefaultOrderBy Session("book_by_sub_OrderBy") = sOrderBy End If End Sub '------------------------------------------------------------------------------- ' Function SetUpStartRec ' - Set up Starting Record parameters based on Pager Navigation ' - Variables setup: nStartRec Sub SetUpStartRec() Dim nPageNo ' Check for a START parameter If Request.QueryString("start").Count > 0 Then nStartRec = Request.QueryString("start") Session("book_by_sub_REC") = nStartRec ElseIf Request.QueryString("pageno").Count > 0 Then nPageNo = Request.QueryString("pageno") If IsNumeric(nPageNo) Then nStartRec = (nPageNo-1)*nDisplayRecs+1 If nStartRec <= 0 Then nStartRec = 1 ElseIf nStartRec >= ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 Then nStartRec = ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 End If Session("book_by_sub_REC") = nStartRec Else nStartRec = Session("book_by_sub_REC") If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 ' Reset start record counter Session("book_by_sub_REC") = nStartRec End If End If Else nStartRec = Session("book_by_sub_REC") If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 'Reset start record counter Session("book_by_sub_REC") = nStartRec End If End If End Sub '------------------------------------------------------------------------------- ' Function ResetCmd ' - Clear list page parameters ' - RESET: reset search parameters ' - RESETALL: reset search & master/detail parameters ' - RESETSORT: reset sort parameters Sub ResetCmd() Dim sCmd ' Get Reset Cmd If Request.QueryString("cmd").Count > 0 Then sCmd = Request.QueryString("cmd") ' Reset Search Criteria If UCase(sCmd) = "RESET" Then sSrchWhere = "" Session("book_by_sub_searchwhere") = sSrchWhere ' Reset Search Criteria & Session Keys ElseIf UCase(sCmd) = "RESETALL" Then sSrchWhere = "" Session("book_by_sub_searchwhere") = sSrchWhere ' Reset Sort Criteria ElseIf UCase(sCmd) = "RESETSORT" Then sOrderBy = "" Session("book_by_sub_OrderBy") = sOrderBy If Session("book_by_sub_x_TITLE_Sort") <> "" Then Session("book_by_sub_x_TITLE_Sort") = "" If Session("book_by_sub_x_AUTHOR_Sort") <> "" Then Session("book_by_sub_x_AUTHOR_Sort") = "" If Session("book_by_sub_x_SUBJECT_Sort") <> "" Then Session("book_by_sub_x_SUBJECT_Sort") = "" If Session("book_by_sub_x_YEAR_Sort") <> "" Then Session("book_by_sub_x_YEAR_Sort") = "" End If ' Reset Start Position (Reset Command) nStartRec = 1 Session("book_by_sub_REC") = nStartRec End If End Sub %>