Asp classic SumTotal在每组的最后一个经典asp

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

我想做的是得到最后一行的总数。下面是一个示例,其中包含两组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
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>