Asp classic SumTotal在每组的最后一个经典asp
我想做的是得到最后一行的总数。下面是一个示例,其中包含两组ITEN,总和为: 我有:Asp classic SumTotal在每组的最后一个经典asp,asp-classic,Asp Classic,我想做的是得到最后一行的总数。下面是一个示例,其中包含两组ITEN,总和为: 我有: 1000 (group number) TitleUm TitleTres TitleQuatro Apple 1 20 Pear 5 12 1001 (group number) TV 1 20 Mobile 1 12 Car 1 15 Bicyc
1000 (group number)
TitleUm TitleTres TitleQuatro
Apple 1 20
Pear 5 12
1001 (group number)
TV 1 20
Mobile 1 12
Car 1 15
Bicycle 1 5
TOTAL 10 84
我正在寻找:
1000 (group number)
TitleUm TitleTres TitleQuatro
Apple 1 20
Pear 5 12
TOTAL 6 32
下面的代码几乎完成了所有操作,列出了项目和每行的每个值,但现在它确实显示了总和:
<table class="Itens">
<%
currentGroupName = ""
previousGroupName = ""
Do Until ItensList.EOF
currentGroupName = ItensList("oito")
Um= ItensList("um")
Tres= ItensList("tres")
Quatro= CCur(ItensList("quatro"))
If currentGroupName <> previousGroupName Then
%>
<tr>
<td><% Response.Write currentGroupName %></td>
</tr>
<tr>
<th><% Response.Write TituloUm %></th>
<th><% Response.Write TituloTres %></th>
<th><% Response.Write TituloQuatro %></th>
</tr>
<%
End If
%>
<%
Um= CCur(ItensList("um"))
Tres= CCur(ItensList("tres"))
Quatro= CCur(ItensList("quatro"))
%>
<tr>
<td><% Response.Write Um %></td>
<td><% Response.Write Tres %></td>
<td><% Response.Write Quatro %></td>
</tr>
<%
previousGroupName = currentGroupName
ItensList.MoveNext
Loop
ItensList.Close
%>
<tr class="Total">
<td>TOTAL</td>
<td><% Response.Write ShowSumTotalTresHere %></td>
<td><% Response.Write ShowSumTotalQuatroHere %></td>
</tr>
</table>
全部的
感谢您的帮助将每个变量添加到循环内的变量中,如下所示:
<%
SumSomething = 0
Do Until objRs.EoF
SumSomething = SumSomething + objRs("SomeValue")
objRs.MoveNext
Loop
%>
...
<tr>
<td><%= SumSomething%></td>
...
...
...
在循环时,您需要保持一个运行总数,以下面的示例代码为例,我在循环之前声明了两个新变量:
Total_Tres = 0
Total_Quatro = 0
然后我在循环中增加这些:
'Maintain Running Total
Total_Tres = Total_Tres + Tres
Total_Quatro = Total_Quatro + Quatro
最后,输出总变量:
<td>TOTAL</td>
<td><% = Total_Tres %></td>
<td><% = Total_Quatro %></td>
总计
完整示例(未经测试)
全部的
谢谢,但这将只保留最后一组的总行,而不是每组一行。@Khrys我只是展示了这个概念,你所需要做的就是在组更改时打印总数,然后将运行总数重置为0-如果你仍然不明白,请告诉我,我将编辑我的答案。我试着按你说的做,但是没有成功。。。你能给我看看吗?谢谢你的再次光临,只是想澄清一下。。。我试图找到每个组的最后一张记录,这样我就可以把总行放在那里。。。thansk Again还有其他人可以帮我吗?谢谢,但是原始代码只在组列表的末尾添加总行,而不是在每个组上添加总行(1000…1001…)
<td>TOTAL</td>
<td><% = Total_Tres %></td>
<td><% = Total_Quatro %></td>
<table class="Itens">
<%
currentGroupName = ""
previousGroupName = ""
Total_Tres = 0
Total_Quatro = 0
Do Until ItensList.EOF
currentGroupName = ItensList("oito")
Um = ItensList("um")
Tres = ItensList("tres")
Quatro = CCur(ItensList("quatro"))
If currentGroupName <> previousGroupName Then
%>
<tr>
<td><% = currentGroupName %></td>
</tr>
<tr>
<th><% = TituloUm %></th>
<th><% = TituloTres %></th>
<th><% = TituloQuatro %></th>
</tr>
<%
End If
Um = CCur(ItensList("um"))
Tres = CCur(ItensList("tres"))
Quatro = CCur(ItensList("quatro"))
%>
<tr>
<td><% = Um %></td>
<td><% = Tres %></td>
<td><% = Quatro %></td>
</tr>
<%
'#### Maintain Running Total
Total_Tres = Total_Tres + Tres
Total_Quatro = Total_Quatro + Quatro
'### Flag current group
previousGroupName = currentGroupName
ItensList.MoveNext
Loop
ItensList.Close
%>
<tr class="Total">
<td>TOTAL</td>
<td><% = Total_Tres %></td>
<td><% = Total_Quatro %></td>
</tr>
</table>