Я не претендую на звание классика ASP, но иногда нужно делать то, что нужно. Моя проблема в том, что это пользовательский отчет, созданный через ASP, и пользователь хочет, чтобы отображались промежуточные итоги и общий итог, и, честно говоря, я просто не уверен, как это сделать. В настоящее время весь отчет упакован таким образом, то, как он отображается, не имеет большого значения для проблемы.
<%do while (adoRsTrade.AbsolutePage = iPageCurrent) and (not adoRsTrade.EOF)
NewRep = adoRsTrade("calIncludedRep")
if CurRep <> NewRep or FirstTime="T" and (not adorsTrade.BOF) then %>
сложите значения для этого CurRep и отобразите их как «промежуточные итоги»
<%
FirstTime="F"
CurRep = adoRsTrade("calIncludedRep")
adoRsTrade.MoveNext
loop %>
любая помощь, которую я мог бы получить, будет принята с благодарностью, поскольку я уже упоминал, что никоим образом не являюсь гуру ASP. Спасибо, NickG
обновить промежуточный итог; общие итоги завершены, так как я могу просто повторно запустить цикл do while вне цикла, отображающий все данные и суммировать их, легко (не совсем), теперь я сталкиваюсь с тем, что .MoveNext нажат до чтобы я мог проверить NewRep; вот суммирование промежуточных итогов, а также проверка, является ли это новым представителем, что означает отображение промежуточных итогов для бывшего представителя
<%do while (adoRsTrade.AbsolutePage = iPageCurrent) and (not adoRsTrade.EOF)
NewRep = adoRsTrade("calIncludedRep")
if CurRep = NewRep then
curPrincipal = adoRsTrade("mPrincipal")
totPrincipal = totPrincipal + curPrincipal
curInterest = adoRsTrade("mInterest")
totInterest = totInterest + curInterest
curCommission = adoRsTrade("calCommission")
totCommission = totCommission + curCommission
curSECFee = adoRsTrade("mSECFee")
totSECFee = totSECFee + curSECFee
curSvcFee = adoRsTrade("mSvcCharge")
totSvcFee = totSvcFee + curSvcFee
curNet = adoRsTrade("mNetAmount")
totNet = totNet + curNet
end if
if CurRep <> NewRep or FirstTime="T" and (not adorsTrade.BOF) then
If FirstTime <> "T" then%>
<TR>
<td>
<table class='FontStandardMinus1' border=0 cellPadding=0 align='left' cellSpacing=0 width="100%" bgcolor='#ffffff'>
<TR>
<td width="59%" align="left"><b>SubTotals<!-- for <%Response.Write(CurRep) %>-->:</b></td>
<td width="10%" valign=top align=right><%=FormatNumber(totPrincipal,2)%></td>
<td width="7%" valign=top align=right><%=FormatNumber(totInterest,2)%></td>
<td width="7%" valign=top align=right><%=FormatNumber(totCommission,2)%></td>
<td width="5%" valign=top align=right><%=FormatNumber(totSECFee,2)%></td>
<td width="4%" valign=top align=right><%=FormatNumber(totSvcFee,2)%></td>
<td width="9%" valign=top align=right><%=FormatNumber(totNet,2)%></td>
</TR>
</table>
</td>
</TR>
<%end if
curPrincipal = 0
totPrincipal = 0
curInterest = 0
totInterest = 0
curCommission = 0
totCommission = 0
curSECFee = 0
totSECFee = 0
curSvcFee = 0
totSvcFee = 0
curNet = 0
totNet = 0 %>
<TR>
<TD width="100%">
<table class='FontStandardMinus1' border=0 cellPadding=0 align='left' cellSpacing=0 width="100%" bgcolor='#ffffff'>
<tr>
<td width=100%><b><%=adoRsTrade("calIncludedRep")%></b></td>
</tr>
</table>
</TD>
</TR>
<%end if%>
<%
FirstTime="F"
'CalCom = CalCom + adoRsTrade("calCommission")
CurRep = adoRsTrade("calIncludedRep")
adoRsTrade.MoveNext
loop%>
так что вы можете видеть, что я пытаюсь сбросить значения до 0 после отображения их в таблице, но эта таблица отображается только после того, как .MoveNext попал в хит, что означает, что даже если я хочу отобразить записи 1-5 добавлены, запись 6 уже была затронута .MoveNext и отбрасывается из набора значений. Извините за длинность этого, но я ненавижу, что комментарии не могут содержать обновленный код. спасибо за любую помощь