11. december 2007 - 13:55Der er
13 kommentarer og 2 løsninger
sammentæl count udtræk via løkke
hej. jeg har en tabel med dato og antal.
Min sql laver en count, således: count(antal) as totalantal From counter group by dato
Det giver resultatet:
1/12 = 10 2/12 = 14 3/12 = 9
Hvordan laver jeg et asp script der sammentæller 10+14+9 ? Det skal foregå i en løkke, så jeg senere kan sætte where kriterier på sql'en. Der kan derfor være forskel på antallet af tal der skal lægges sammen.
Set rs_cmd = Server.CreateObject ("ADODB.Command") rs_cmd.ActiveConnection = MM_connUglvig_STRING rs_cmd.CommandText = "SELECT dato, sum(antal) as totalantal FROM tabel GROUP by dato" rs_cmd.Prepared = true
Set Rs = rs_cmd.Execute rs_numRows = 0 %>
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <%do until rs.EOF%></p> <tr> <td width="44%" class="style1"><strong><%=rs("dato")%>:</strong></td> <td width="56%"><span class="style1"><%=rs("totalantal")%> stk</span></td> <%rs.MoveNext loop %></tr> </table> <p align="left" class="style1"><%if not rs.BOF then%> Leveret ialt: <strong> <% sum = 0 do until rs.EOF sum= sum+ rs("totalantal") rs.MoveNext loop
Ja! Løkke nr. 2 løber nemlig aldrig nogen steder rs er nået til EOF når du starter løkken 2. gang.
Men hvorfor have 2 løkker, når det kan klares i et og samme gennemløb?
<% Dim rs Dim rs_cmd Dim rs_numRows
Set rs_cmd = Server.CreateObject("ADODB.Command") rs_cmd.ActiveConnection = MM_connUglvig_STRING rs_cmd.CommandText = "SELECT dato, sum(antal) as totalantal FROM tabel GROUP BY dato" rs_cmd.Prepared = True
Set Rs = rs_cmd.Execute rs_numRows = 0 %>
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <% sum = 0 Do Until rs.EOF %> <tr> <td width="44%" class="style1"><strong><%=rs("dato")%>:</strong></td> <td width="56%"><span class="style1"><%=rs("totalantal")%> stk.</span></td> </tr> <% sum = sum + rs("totalantal") rs.MoveNext Loop %> </table>
Softspot, jeg går ud fra at du ikke vil have points. Derfor lukker jeg spm nu. Hvis du føler dig snydt, så smid lige en melding, så finder vi ud af det :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.