% Response.Expires = 0 Response.ExpiresAbsolute = Now() - 1 Response.AddHeader "pragma", "no-cache" Response.AddHeader "cache-control", "private, no-cache, no-store, must-revalidate" %> <% ' Initialize common variables x_Comune = Null: ox_Comune = Null: z_Comune = Null y_Comune = Null: w_Comune = Null x_Provincia = Null: ox_Provincia = Null: z_Provincia = Null x_Zona_climatica = Null: ox_Zona_climatica = Null: z_Zona_climatica = Null y_Zona_climatica = Null: w_Zona_climatica = Null x_Gradi_Giorno = Null: ox_Gradi_Giorno = Null: z_Gradi_Giorno = Null x_Altezza = Null: ox_Altezza = Null: z_Altezza = Null x_Serramenti_valore_U_dal_12F12F2006 = Null: ox_Serramenti_valore_U_dal_12F12F2006 = Null: z_Serramenti_valore_U_dal_12F12F2006 = Null y_Serramenti_valore_U_dal_12F12F2006 = Null: w_Serramenti_valore_U_dal_12F12F2006 = Null x_Serramenti_valore_U_dal_12F12F2008 = Null: ox_Serramenti_valore_U_dal_12F12F2008 = Null: z_Serramenti_valore_U_dal_12F12F2008 = Null y_Serramenti_valore_U_dal_12F12F2008 = Null: w_Serramenti_valore_U_dal_12F12F2008 = Null x_Serramenti_valore_U_dal_12F12F2010 = Null: ox_Serramenti_valore_U_dal_12F12F2010 = Null: z_Serramenti_valore_U_dal_12F12F2010 = Null y_Serramenti_valore_U_dal_12F12F2010 = Null: w_Serramenti_valore_U_dal_12F12F2010 = Null x_Vetro_valore_U_dal_12F12F2006 = Null: ox_Vetro_valore_U_dal_12F12F2006 = Null: z_Vetro_valore_U_dal_12F12F2006 = Null y_Vetro_valore_U_dal_12F12F2006 = Null: w_Vetro_valore_U_dal_12F12F2006 = Null x_Vetro_valore_U_dal_12F72F2008 = Null: ox_Vetro_valore_U_dal_12F72F2008 = Null: z_Vetro_valore_U_dal_12F72F2008 = Null y_Vetro_valore_U_dal_12F72F2008 = Null: w_Vetro_valore_U_dal_12F72F2008 = Null x_Vetro_valore_U_dal_12F12F2011 = Null: ox_Vetro_valore_U_dal_12F12F2011 = Null: z_Vetro_valore_U_dal_12F12F2011 = Null y_Vetro_valore_U_dal_12F12F2011 = Null: w_Vetro_valore_U_dal_12F12F2011 = Null %> <% sExport = Request.QueryString("export") ' Load Export Request If sExport = "html" Then ' Printer Friendly End If If sExport = "word" Then Response.ContentType = "application/vnd.ms-word" Response.AddHeader "Content-Disposition:", "attachment; filename=" & ewTblVar & ".doc" End If %> <% nStartRec = 0 nStopRec = 0 nTotalRecs = 0 nRecCount = 0 nRecActual = 0 sDbWhereMaster = "" sDbWhereDetail = "" sSrchAdvanced = "" psearch = "" psearchtype = "" sSrchBasic = "" sSrchWhere = "" sDbWhere = "" sOrderBy = "" 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() ' Build Search Criteria If sSrchAdvanced <> "" Then If sSrchWhere <> "" Then sSrchWhere = sSrchWhere & " AND " sSrchWhere = sSrchWhere & "(" & sSrchAdvanced & ")" End If If sSrchBasic <> "" Then If sSrchWhere <> "" Then sSrchWhere = sSrchWhere & " AND " sSrchWhere = sSrchWhere & "(" & sSrchBasic & ")" End If ' Save Search Criteria If sSrchWhere <> "" Then Session(ewSessionTblSearchWhere) = sSrchWhere nStartRec = 1 ' reset start record counter Session(ewSessionTblStartRec) = nStartRec Else sSrchWhere = Session(ewSessionTblSearchWhere) Call RestoreSearch() End If ' Build Filter condition sDbWhere = "" If sDbWhereDetail <> "" Then If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND " sDbWhere = sDbWhere & "(" & sDbWhereDetail & ")" End If If sSrchWhere <> "" Then If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND " sDbWhere = sDbWhere & "(" & sSrchWhere & ")" End If ' Set Up Sorting Order sOrderBy = "" SetUpSortOrder() ' Set up SQL sSql = ewBuildSql(ewSqlSelect, ewSqlWhere, ewSqlGroupBy, ewSqlHaving, ewSqlOrderBy, sDbWhere, sOrderBy) 'Response.Write sSql ' Uncomment to show SQL for debugging %> <% If sExport <> "word" And sExport <> "excel" Then %> <% End If %> <% ' Set up Record Set Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 2 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 %>
TABLE: Valori U
Comuni Italiani <% If sExport = "" Then %>
Adatta per stampa
Esporta in Word
<% End If %>
<%= Session(ewSessionMessage) %>
<% Session(ewSessionMessage) = "" ' Clear message End If %> <% If sExport = "" Then %> <% End If %> <% If nTotalRecs > 0 Then %> <% End If %> <% ' Close recordset and connection rs.Close Set rs = Nothing conn.Close Set conn = Nothing %> <% If sExport = "" Then %> <% End If %> <% If sExport <> "word" And sExport <> "excel" Then %> <% End If %> <% '------------------------------------------------------------------------------- ' Function SetUpAdvancedSearch ' - Set up Advanced Search parameter based on querystring parameters from Advanced Search Page ' - Variables setup: sSrchAdvanced Sub SetUpAdvancedSearch() Dim arrFldOpr, arrFldOpr2, sSrchStr ' Field Comune sSrchStr = "" x_Comune = Request.QueryString("x_Comune") z_Comune = Request.QueryString("z_Comune") v_Comune = Request.QueryString("v_Comune") If v_Comune = "" Then v_Comune = Session(ewSessionTblAdvSrch & "_v_Comune") y_Comune = Request.QueryString("y_Comune") w_Comune = Request.QueryString("w_Comune") arrFldOpr = Split(z_Comune, ",") If x_Comune <> "" And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Comune] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Comune) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Comune, ",") If y_Comune <> "" And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Comune="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Comune] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Comune) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Provincia sSrchStr = "" x_Provincia = Request.QueryString("x_Provincia") z_Provincia = Request.QueryString("z_Provincia") arrFldOpr = Split(z_Provincia, ",") If x_Provincia <> "" And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Provincia] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Provincia) & arrFldOpr(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Zona climatica sSrchStr = "" x_Zona_climatica = Request.QueryString("x_Zona_climatica") z_Zona_climatica = Request.QueryString("z_Zona_climatica") v_Zona_climatica = Request.QueryString("v_Zona_climatica") If v_Zona_climatica = "" Then v_Zona_climatica = Session(ewSessionTblAdvSrch & "_v_Zona_climatica") y_Zona_climatica = Request.QueryString("y_Zona_climatica") w_Zona_climatica = Request.QueryString("w_Zona_climatica") arrFldOpr = Split(z_Zona_climatica, ",") If x_Zona_climatica <> "" And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Zona climatica] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Zona_climatica) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Zona_climatica, ",") If y_Zona_climatica <> "" And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Zona_climatica="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Zona climatica] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Zona_climatica) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Gradi Giorno sSrchStr = "" x_Gradi_Giorno = Request.QueryString("x_Gradi_Giorno") z_Gradi_Giorno = Request.QueryString("z_Gradi_Giorno") arrFldOpr = Split(z_Gradi_Giorno, ",") If x_Gradi_Giorno <> "" And IsNumeric(x_Gradi_Giorno) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Gradi Giorno] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Gradi_Giorno) & arrFldOpr(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Altezza sSrchStr = "" x_Altezza = Request.QueryString("x_Altezza") z_Altezza = Request.QueryString("z_Altezza") arrFldOpr = Split(z_Altezza, ",") If x_Altezza <> "" And IsNumeric(x_Altezza) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Altezza] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Altezza) & arrFldOpr(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Serramenti valore U dal 1/1/2006 sSrchStr = "" x_Serramenti_valore_U_dal_12F12F2006 = Request.QueryString("x_Serramenti_valore_U_dal_12F12F2006") z_Serramenti_valore_U_dal_12F12F2006 = Request.QueryString("z_Serramenti_valore_U_dal_12F12F2006") v_Serramenti_valore_U_dal_12F12F2006 = Request.QueryString("v_Serramenti_valore_U_dal_12F12F2006") If v_Serramenti_valore_U_dal_12F12F2006 = "" Then v_Serramenti_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2006") y_Serramenti_valore_U_dal_12F12F2006 = Request.QueryString("y_Serramenti_valore_U_dal_12F12F2006") w_Serramenti_valore_U_dal_12F12F2006 = Request.QueryString("w_Serramenti_valore_U_dal_12F12F2006") arrFldOpr = Split(z_Serramenti_valore_U_dal_12F12F2006, ",") If x_Serramenti_valore_U_dal_12F12F2006 <> "" And IsNumeric(x_Serramenti_valore_U_dal_12F12F2006) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Serramenti valore U dal 1/1/2006] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Serramenti_valore_U_dal_12F12F2006) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Serramenti_valore_U_dal_12F12F2006, ",") If y_Serramenti_valore_U_dal_12F12F2006 <> "" And IsNumeric(y_Serramenti_valore_U_dal_12F12F2006) And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Serramenti_valore_U_dal_12F12F2006="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Serramenti valore U dal 1/1/2006] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Serramenti_valore_U_dal_12F12F2006) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Serramenti valore U dal 1/1/2008 sSrchStr = "" x_Serramenti_valore_U_dal_12F12F2008 = Request.QueryString("x_Serramenti_valore_U_dal_12F12F2008") z_Serramenti_valore_U_dal_12F12F2008 = Request.QueryString("z_Serramenti_valore_U_dal_12F12F2008") v_Serramenti_valore_U_dal_12F12F2008 = Request.QueryString("v_Serramenti_valore_U_dal_12F12F2008") If v_Serramenti_valore_U_dal_12F12F2008 = "" Then v_Serramenti_valore_U_dal_12F12F2008 = Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2008") y_Serramenti_valore_U_dal_12F12F2008 = Request.QueryString("y_Serramenti_valore_U_dal_12F12F2008") w_Serramenti_valore_U_dal_12F12F2008 = Request.QueryString("w_Serramenti_valore_U_dal_12F12F2008") arrFldOpr = Split(z_Serramenti_valore_U_dal_12F12F2008, ",") If x_Serramenti_valore_U_dal_12F12F2008 <> "" And IsNumeric(x_Serramenti_valore_U_dal_12F12F2008) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Serramenti valore U dal 1/1/2008] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Serramenti_valore_U_dal_12F12F2008) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Serramenti_valore_U_dal_12F12F2008, ",") If y_Serramenti_valore_U_dal_12F12F2008 <> "" And IsNumeric(y_Serramenti_valore_U_dal_12F12F2008) And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Serramenti_valore_U_dal_12F12F2008="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Serramenti valore U dal 1/1/2008] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Serramenti_valore_U_dal_12F12F2008) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Serramenti valore U dal 1/1/2010 sSrchStr = "" x_Serramenti_valore_U_dal_12F12F2010 = Request.QueryString("x_Serramenti_valore_U_dal_12F12F2010") z_Serramenti_valore_U_dal_12F12F2010 = Request.QueryString("z_Serramenti_valore_U_dal_12F12F2010") v_Serramenti_valore_U_dal_12F12F2010 = Request.QueryString("v_Serramenti_valore_U_dal_12F12F2010") If v_Serramenti_valore_U_dal_12F12F2010 = "" Then v_Serramenti_valore_U_dal_12F12F2010 = Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2010") y_Serramenti_valore_U_dal_12F12F2010 = Request.QueryString("y_Serramenti_valore_U_dal_12F12F2010") w_Serramenti_valore_U_dal_12F12F2010 = Request.QueryString("w_Serramenti_valore_U_dal_12F12F2010") arrFldOpr = Split(z_Serramenti_valore_U_dal_12F12F2010, ",") If x_Serramenti_valore_U_dal_12F12F2010 <> "" And IsNumeric(x_Serramenti_valore_U_dal_12F12F2010) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Serramenti valore U dal 1/1/2010] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Serramenti_valore_U_dal_12F12F2010) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Serramenti_valore_U_dal_12F12F2010, ",") If y_Serramenti_valore_U_dal_12F12F2010 <> "" And IsNumeric(y_Serramenti_valore_U_dal_12F12F2010) And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Serramenti_valore_U_dal_12F12F2010="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Serramenti valore U dal 1/1/2010] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Serramenti_valore_U_dal_12F12F2010) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Vetro valore U dal 1/1/2006 sSrchStr = "" x_Vetro_valore_U_dal_12F12F2006 = Request.QueryString("x_Vetro_valore_U_dal_12F12F2006") z_Vetro_valore_U_dal_12F12F2006 = Request.QueryString("z_Vetro_valore_U_dal_12F12F2006") v_Vetro_valore_U_dal_12F12F2006 = Request.QueryString("v_Vetro_valore_U_dal_12F12F2006") If v_Vetro_valore_U_dal_12F12F2006 = "" Then v_Vetro_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2006") y_Vetro_valore_U_dal_12F12F2006 = Request.QueryString("y_Vetro_valore_U_dal_12F12F2006") w_Vetro_valore_U_dal_12F12F2006 = Request.QueryString("w_Vetro_valore_U_dal_12F12F2006") arrFldOpr = Split(z_Vetro_valore_U_dal_12F12F2006, ",") If x_Vetro_valore_U_dal_12F12F2006 <> "" And IsNumeric(x_Vetro_valore_U_dal_12F12F2006) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Vetro valore U dal 1/1/2006] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Vetro_valore_U_dal_12F12F2006) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Vetro_valore_U_dal_12F12F2006, ",") If y_Vetro_valore_U_dal_12F12F2006 <> "" And IsNumeric(y_Vetro_valore_U_dal_12F12F2006) And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Vetro_valore_U_dal_12F12F2006="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Vetro valore U dal 1/1/2006] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Vetro_valore_U_dal_12F12F2006) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Vetro valore U dal 1/7/2008 sSrchStr = "" x_Vetro_valore_U_dal_12F72F2008 = Request.QueryString("x_Vetro_valore_U_dal_12F72F2008") z_Vetro_valore_U_dal_12F72F2008 = Request.QueryString("z_Vetro_valore_U_dal_12F72F2008") v_Vetro_valore_U_dal_12F72F2008 = Request.QueryString("v_Vetro_valore_U_dal_12F72F2008") If v_Vetro_valore_U_dal_12F72F2008 = "" Then v_Vetro_valore_U_dal_12F72F2008 = Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F72F2008") y_Vetro_valore_U_dal_12F72F2008 = Request.QueryString("y_Vetro_valore_U_dal_12F72F2008") w_Vetro_valore_U_dal_12F72F2008 = Request.QueryString("w_Vetro_valore_U_dal_12F72F2008") arrFldOpr = Split(z_Vetro_valore_U_dal_12F72F2008, ",") If x_Vetro_valore_U_dal_12F72F2008 <> "" And IsNumeric(x_Vetro_valore_U_dal_12F72F2008) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Vetro valore U dal 1/7/2008] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Vetro_valore_U_dal_12F72F2008) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Vetro_valore_U_dal_12F72F2008, ",") If y_Vetro_valore_U_dal_12F72F2008 <> "" And IsNumeric(y_Vetro_valore_U_dal_12F72F2008) And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Vetro_valore_U_dal_12F72F2008="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Vetro valore U dal 1/7/2008] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Vetro_valore_U_dal_12F72F2008) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If ' Field Vetro valore U dal 1/1/2011 sSrchStr = "" x_Vetro_valore_U_dal_12F12F2011 = Request.QueryString("x_Vetro_valore_U_dal_12F12F2011") z_Vetro_valore_U_dal_12F12F2011 = Request.QueryString("z_Vetro_valore_U_dal_12F12F2011") v_Vetro_valore_U_dal_12F12F2011 = Request.QueryString("v_Vetro_valore_U_dal_12F12F2011") If v_Vetro_valore_U_dal_12F12F2011 = "" Then v_Vetro_valore_U_dal_12F12F2011 = Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2011") y_Vetro_valore_U_dal_12F12F2011 = Request.QueryString("y_Vetro_valore_U_dal_12F12F2011") w_Vetro_valore_U_dal_12F12F2011 = Request.QueryString("w_Vetro_valore_U_dal_12F12F2011") arrFldOpr = Split(z_Vetro_valore_U_dal_12F12F2011, ",") If x_Vetro_valore_U_dal_12F12F2011 <> "" And IsNumeric(x_Vetro_valore_U_dal_12F12F2011) And IsValidOpr(arrFldOpr) Then sSrchStr = sSrchStr & "[Vetro valore U dal 1/1/2011] " & arrFldOpr(0) & " " & _ arrFldOpr(1) & AdjustSql(x_Vetro_valore_U_dal_12F12F2011) & arrFldOpr(2) End If arrFldOpr2 = Split(w_Vetro_valore_U_dal_12F12F2011, ",") If y_Vetro_valore_U_dal_12F12F2011 <> "" And IsNumeric(y_Vetro_valore_U_dal_12F12F2011) And IsValidOpr(arrFldOpr2) Then If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(v_Vetro_valore_U_dal_12F12F2011="OR", "OR", "AND") & " " sSrchStr = sSrchStr & "[Vetro valore U dal 1/1/2011] " & arrFldOpr2(0) & " " & _ arrFldOpr2(1) & AdjustSql(y_Vetro_valore_U_dal_12F12F2011) & arrFldOpr2(2) End If If sSrchStr <> "" Then If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND " sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")" End If If sSrchAdvanced <> "" Then ' save settings Session(ewSessionTblAdvSrch & "_x_Comune") = x_Comune Session(ewSessionTblAdvSrch & "_v_Comune") = v_Comune Session(ewSessionTblAdvSrch & "_y_Comune") = y_Comune Session(ewSessionTblAdvSrch & "_w_Comune") = w_Comune Session(ewSessionTblAdvSrch & "_x_Provincia") = x_Provincia Session(ewSessionTblAdvSrch & "_x_Zona_climatica") = x_Zona_climatica Session(ewSessionTblAdvSrch & "_v_Zona_climatica") = v_Zona_climatica Session(ewSessionTblAdvSrch & "_y_Zona_climatica") = y_Zona_climatica Session(ewSessionTblAdvSrch & "_w_Zona_climatica") = w_Zona_climatica Session(ewSessionTblAdvSrch & "_x_Gradi_Giorno") = x_Gradi_Giorno Session(ewSessionTblAdvSrch & "_x_Altezza") = x_Altezza Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2006") = x_Serramenti_valore_U_dal_12F12F2006 Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2006") = v_Serramenti_valore_U_dal_12F12F2006 Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2006") = y_Serramenti_valore_U_dal_12F12F2006 Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2008") = x_Serramenti_valore_U_dal_12F12F2008 Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2008") = v_Serramenti_valore_U_dal_12F12F2008 Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2008") = y_Serramenti_valore_U_dal_12F12F2008 Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2010") = x_Serramenti_valore_U_dal_12F12F2010 Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2010") = v_Serramenti_valore_U_dal_12F12F2010 Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2010") = y_Serramenti_valore_U_dal_12F12F2010 Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F12F2006") = x_Vetro_valore_U_dal_12F12F2006 Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2006") = v_Vetro_valore_U_dal_12F12F2006 Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F12F2006") = y_Vetro_valore_U_dal_12F12F2006 Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F72F2008") = x_Vetro_valore_U_dal_12F72F2008 Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F72F2008") = v_Vetro_valore_U_dal_12F72F2008 Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F72F2008") = y_Vetro_valore_U_dal_12F72F2008 Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F12F2011") = x_Vetro_valore_U_dal_12F12F2011 Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2011") = v_Vetro_valore_U_dal_12F12F2011 Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F12F2011") = y_Vetro_valore_U_dal_12F12F2011 End If End Sub ' Function to check if the search operators are valid Function IsValidOpr(arOpr) Dim Opr IsValidOpr = IsArray(arOpr) If IsValidOpr Then IsValidOpr = (UBound(arOpr) >= 2) If IsValidOpr Then For Each Opr In arOpr Opr = UCase(Trim(Opr)) If Not (Opr = "=" Or Opr = "<" Or Opr = "<=" Or _ Opr = ">" Or Opr = ">=" Or Opr = "<>" Or _ Opr = "LIKE" Or Opr = "NOT LIKE" Or Opr = "BETWEEN" Or _ Opr = "'" Or Opr = "'%" Or Opr = "%'" Or Opr = "#" Or Opr = "") Then IsValidOpr = False Exit For End If Next End If End Function '------------------------------------------------------------------------------- ' Function ResetSearch ' - Clear all search parameters ' Sub ResetSearch() ' Clear search where sSrchWhere = "" Session(ewSessionTblSearchWhere) = sSrchWhere ' Clear advanced search parameters Session(ewSessionTblAdvSrch & "_x_Comune") = "" Session(ewSessionTblAdvSrch & "_v_Comune") = "AND" Session(ewSessionTblAdvSrch & "_y_Comune") = "" Session(ewSessionTblAdvSrch & "_w_Comune") = "" Session(ewSessionTblAdvSrch & "_x_Provincia") = "" Session(ewSessionTblAdvSrch & "_x_Zona_climatica") = "" Session(ewSessionTblAdvSrch & "_v_Zona_climatica") = "AND" Session(ewSessionTblAdvSrch & "_y_Zona_climatica") = "" Session(ewSessionTblAdvSrch & "_w_Zona_climatica") = "" Session(ewSessionTblAdvSrch & "_x_Gradi_Giorno") = "" Session(ewSessionTblAdvSrch & "_x_Altezza") = "" Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2006") = "" Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2006") = "AND" Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2006") = "" Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2008") = "" Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2008") = "AND" Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2008") = "" Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2010") = "" Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2010") = "AND" Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2010") = "" Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F12F2006") = "" Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2006") = "AND" Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F12F2006") = "" Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F72F2008") = "" Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F72F2008") = "AND" Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F72F2008") = "" Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F12F2011") = "" Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2011") = "AND" Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F12F2011") = "" Session(ewSessionTblBasicSrch) = "" Session(ewSessionTblBasicSrchType) = "" End Sub '------------------------------------------------------------------------------- ' Function RestoreSearch ' - Restore all search parameters ' Sub RestoreSearch() ' Restore advanced search settings x_Comune = Session(ewSessionTblAdvSrch & "_x_Comune") v_Comune = Session(ewSessionTblAdvSrch & "_v_Comune") y_Comune = Session(ewSessionTblAdvSrch & "_y_Comune") w_Comune = Session(ewSessionTblAdvSrch & "_w_Comune") x_Provincia = Session(ewSessionTblAdvSrch & "_x_Provincia") x_Zona_climatica = Session(ewSessionTblAdvSrch & "_x_Zona_climatica") v_Zona_climatica = Session(ewSessionTblAdvSrch & "_v_Zona_climatica") y_Zona_climatica = Session(ewSessionTblAdvSrch & "_y_Zona_climatica") w_Zona_climatica = Session(ewSessionTblAdvSrch & "_w_Zona_climatica") x_Gradi_Giorno = Session(ewSessionTblAdvSrch & "_x_Gradi_Giorno") x_Altezza = Session(ewSessionTblAdvSrch & "_x_Altezza") x_Serramenti_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2006") v_Serramenti_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2006") y_Serramenti_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2006") x_Serramenti_valore_U_dal_12F12F2008 = Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2008") v_Serramenti_valore_U_dal_12F12F2008 = Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2008") y_Serramenti_valore_U_dal_12F12F2008 = Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2008") x_Serramenti_valore_U_dal_12F12F2010 = Session(ewSessionTblAdvSrch & "_x_Serramenti_valore_U_dal_12F12F2010") v_Serramenti_valore_U_dal_12F12F2010 = Session(ewSessionTblAdvSrch & "_v_Serramenti_valore_U_dal_12F12F2010") y_Serramenti_valore_U_dal_12F12F2010 = Session(ewSessionTblAdvSrch & "_y_Serramenti_valore_U_dal_12F12F2010") x_Vetro_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F12F2006") v_Vetro_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2006") y_Vetro_valore_U_dal_12F12F2006 = Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F12F2006") x_Vetro_valore_U_dal_12F72F2008 = Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F72F2008") v_Vetro_valore_U_dal_12F72F2008 = Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F72F2008") y_Vetro_valore_U_dal_12F72F2008 = Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F72F2008") x_Vetro_valore_U_dal_12F12F2011 = Session(ewSessionTblAdvSrch & "_x_Vetro_valore_U_dal_12F12F2011") v_Vetro_valore_U_dal_12F12F2011 = Session(ewSessionTblAdvSrch & "_v_Vetro_valore_U_dal_12F12F2011") y_Vetro_valore_U_dal_12F12F2011 = Session(ewSessionTblAdvSrch & "_y_Vetro_valore_U_dal_12F12F2011") psearch = Session(ewSessionTblBasicSrch) psearchtype = Session(ewSessionTblBasicSrchType) End Sub '------------------------------------------------------------------------------- ' Function SetUpSortOrder ' - Set up Sort parameters based on Sort Links clicked ' - Variables setup: sOrderBy, Session(TblOrderBy), Session(Tbl_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 [Comune] If sOrder = "Comune" Then sSortField = "[Comune]" sLastSort = Session(ewSessionTblSort & "_x_Comune") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Comune") = sThisSort Else If Session(ewSessionTblSort & "_x_Comune") <> "" Then Session(ewSessionTblSort & "_x_Comune") = "" End If ' Field [Provincia] If sOrder = "Provincia" Then sSortField = "[Provincia]" sLastSort = Session(ewSessionTblSort & "_x_Provincia") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Provincia") = sThisSort Else If Session(ewSessionTblSort & "_x_Provincia") <> "" Then Session(ewSessionTblSort & "_x_Provincia") = "" End If ' Field [Zona climatica] If sOrder = "Zona climatica" Then sSortField = "[Zona climatica]" sLastSort = Session(ewSessionTblSort & "_x_Zona_climatica") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Zona_climatica") = sThisSort Else If Session(ewSessionTblSort & "_x_Zona_climatica") <> "" Then Session(ewSessionTblSort & "_x_Zona_climatica") = "" End If ' Field [Gradi Giorno] If sOrder = "Gradi Giorno" Then sSortField = "[Gradi Giorno]" sLastSort = Session(ewSessionTblSort & "_x_Gradi_Giorno") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Gradi_Giorno") = sThisSort Else If Session(ewSessionTblSort & "_x_Gradi_Giorno") <> "" Then Session(ewSessionTblSort & "_x_Gradi_Giorno") = "" End If ' Field [Altezza] If sOrder = "Altezza" Then sSortField = "[Altezza]" sLastSort = Session(ewSessionTblSort & "_x_Altezza") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Altezza") = sThisSort Else If Session(ewSessionTblSort & "_x_Altezza") <> "" Then Session(ewSessionTblSort & "_x_Altezza") = "" End If ' Field [Serramenti valore U dal 1/1/2006] If sOrder = "Serramenti valore U dal 1/1/2006" Then sSortField = "[Serramenti valore U dal 1/1/2006]" sLastSort = Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2006") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2006") = sThisSort Else If Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2006") <> "" Then Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2006") = "" End If ' Field [Serramenti valore U dal 1/1/2008] If sOrder = "Serramenti valore U dal 1/1/2008" Then sSortField = "[Serramenti valore U dal 1/1/2008]" sLastSort = Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2008") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2008") = sThisSort Else If Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2008") <> "" Then Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2008") = "" End If ' Field [Serramenti valore U dal 1/1/2010] If sOrder = "Serramenti valore U dal 1/1/2010" Then sSortField = "[Serramenti valore U dal 1/1/2010]" sLastSort = Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2010") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2010") = sThisSort Else If Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2010") <> "" Then Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2010") = "" End If ' Field [Vetro valore U dal 1/1/2006] If sOrder = "Vetro valore U dal 1/1/2006" Then sSortField = "[Vetro valore U dal 1/1/2006]" sLastSort = Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2006") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2006") = sThisSort Else If Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2006") <> "" Then Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2006") = "" End If ' Field [Vetro valore U dal 1/7/2008] If sOrder = "Vetro valore U dal 1/7/2008" Then sSortField = "[Vetro valore U dal 1/7/2008]" sLastSort = Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F72F2008") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F72F2008") = sThisSort Else If Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F72F2008") <> "" Then Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F72F2008") = "" End If ' Field [Vetro valore U dal 1/1/2011] If sOrder = "Vetro valore U dal 1/1/2011" Then sSortField = "[Vetro valore U dal 1/1/2011]" sLastSort = Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2011") If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC" Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2011") = sThisSort Else If Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2011") <> "" Then Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2011") = "" End If Session(ewSessionTblOrderBy) = sSortField & " " & sThisSort Session(ewSessionTblStartRec) = 1 End If sOrderBy = Session(ewSessionTblOrderBy) If sOrderBy = "" Then sOrderBy = ewSqlOrderBy Session(ewSessionTblOrderBy) = sOrderBy If sOrderBy <> "" Then Dim arOrderBy, i arOrderBy = Split(ewSqlOrderBySessions, ",") For i = 0 to UBound(arOrderBy)\2 Session(ewSessionTblSort & "_" & arOrderBy(i*2)) = arOrderBy(i*2+1) Next End If 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(ewTblStartRec).Count > 0 Then nStartRec = Request.QueryString(ewTblStartRec) Session(ewSessionTblStartRec) = 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(ewSessionTblStartRec) = nStartRec Else nStartRec = Session(ewSessionTblStartRec) If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 ' Reset start record counter Session(ewSessionTblStartRec) = nStartRec End If End If Else nStartRec = Session(ewSessionTblStartRec) If Not IsNumeric(nStartRec) Or nStartRec = "" Then nStartRec = 1 'Reset start record counter Session(ewSessionTblStartRec) = 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 LCase(sCmd) = "reset" Then Call ResetSearch() ' Reset Search Criteria & Session Keys ElseIf LCase(sCmd) = "resetall" Then Call ResetSearch() ' Reset Sort Criteria ElseIf LCase(sCmd) = "resetsort" Then sOrderBy = "" Session(ewSessionTblOrderBy) = sOrderBy If Session(ewSessionTblSort & "_x_Comune") <> "" Then Session(ewSessionTblSort & "_x_Comune") = "" If Session(ewSessionTblSort & "_x_Provincia") <> "" Then Session(ewSessionTblSort & "_x_Provincia") = "" If Session(ewSessionTblSort & "_x_Zona_climatica") <> "" Then Session(ewSessionTblSort & "_x_Zona_climatica") = "" If Session(ewSessionTblSort & "_x_Gradi_Giorno") <> "" Then Session(ewSessionTblSort & "_x_Gradi_Giorno") = "" If Session(ewSessionTblSort & "_x_Altezza") <> "" Then Session(ewSessionTblSort & "_x_Altezza") = "" If Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2006") <> "" Then Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2006") = "" If Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2008") <> "" Then Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2008") = "" If Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2010") <> "" Then Session(ewSessionTblSort & "_x_Serramenti_valore_U_dal_12F12F2010") = "" If Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2006") <> "" Then Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2006") = "" If Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F72F2008") <> "" Then Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F72F2008") = "" If Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2011") <> "" Then Session(ewSessionTblSort & "_x_Vetro_valore_U_dal_12F12F2011") = "" End If ' Reset Start Position (Reset Command) nStartRec = 1 Session(ewSessionTblStartRec) = nStartRec End If End Sub %>