sql ="select sum(goal) from table"
set rs = connect.execute(sql)
response.write rs(0)
Under förutsättning att fältet heter goal och är av typen integer.
37 svar · 699 visningar · startad av asp
Jag har en databas där jag sparar antal gjorda mål för mitt lag. Hur gör jag för att räkna ihop alla mål från alla rader?
Hoppas ni förstår..
sql ="select sum(goal) from table"
set rs = connect.execute(sql)
response.write rs(0)
Under förutsättning att fältet heter goal och är av typen integer.
Du kanske ville ha från ett och samma lag?
sql ="select sum(goal) from table where lagId = " & lagId
set rs = connect.execute(sql)
response.write rs(0)
Fältet heter "Gjorda" och är av typen "Tal". var skall jag lägga in den koden du gav mig för att inte störa den den andra SQL satsen.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("db/amica.mdb")
Set Rs = Conn.Execute("SELECT * FROM Post ORDER BY DATUM DESC")
Do Until Rs.EOF
%>
<tr>
<td width="80"><%=rs("datum")%></td>
<td width="250">
<% if lcase(rs("spelplats")) = "hemma" then
response.write "Amica Wronki - "& rs("motstandare")
else
response.write rs("motstandare") &" - Amica Wronki "
end if %>
</td>
<td width="60" style="text-align: center">
<% if lcase(rs("spelplats")) = "hemma" then %>
<%= rs("gjorda") %> - <%= rs("inslappta") %>
<% else %>
<%= rs("inslappta") %> - <%= rs("gjorda") %>
<% end if %>
</td>
<td width="20" style="text-align: center"><img src="<%= rs("typ") %>.gif" width="6" height="6"
title="<%
if rs("typ") = "serie" then
response.write"Seriematch"
elseif rs("typ") ="cup" then
response.write"Cupmatch"
elseif rs("typ") = "traning" then
response.write"Träningsmatch"
elseif rs("typ") = "kompis" then
response.write"Kompisligamatch"
elseif rs("typ") = "utmaning" then
response.write"Utmaning"
end if
%>"></td>
</tr>
<%
Rs.Movenext
Loop
Rs.Close : Set Rs = Nothing
Conn.Close : Set Conn = Nothing
%>
Ligger fältet "Gjorda" i tabellen Post och var ska den presenteras?
Fältet "Gjorda" ligger i tabellen Post och där finns antal mål för mitt lag. Jag vill bara räkna ut gjorda mål för mitt lag, alltså addera alla tal från alla rader som liger under "Gjorda".
Och hur kännetecknar du lagen, har de ett numeriskt id och vad heter i så fall det fältet, och hur tar du emot det id:et som du vill hämta ut?
Det är bara ett lag, endast statistik för mitt lag. Alltså det ända jag vill är att addera värdet från fältet Gjorda.
Du kan skriva ut goalSum där du vill ha det. :)
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("db/amica.mdb")
Set Rs = Conn.Execute("SELECT * FROM Post ORDER BY DATUM DESC")
sql ="select sum(Gjorda) from Post"
set objRS = Conn.execute(sql)
goalSum = objRS(0)
Do Until Rs.EOF
...
...
Skall jag skriva ut det som <%= rs("goalSum") %> ??
Den vill inte. Får bara felmeddelande. Du, kan jag skriva <%= objRS("goalSum") %> var jag vill på sidan? innan SQl satsen??
Nej, du kan inte skriva ut värdet innan du hämtat det. ;)
men var som helst efter den?
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/markuz88/resultat.asp, line 118
får jag..
Var som helst efter raden:
goalSum = objRS(0)
och innan
objRS.close()
men undvik skriva ut det inne i loopen, för då lär du få ut värdet flera gånger.
Eftersom jag skapade en egen variabel med värdet ska du skriva enligt nedan. En liten miss från mig. :e
<%= goalSum %>
Jag får det inte att fungera. Det är nämligen så att jag vill ha "Gjorda mål" innan SQL satsen och det går ju inte. Kan inte du hjälpa mig att sätta in koden rätt.
<html>
<body>
<table width="410" cellpadding="1" cellspacing="0">
<tr>
<td width="150">Spelade matcher</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Gjorda mål</td>
<td width="10"><b><%= goalSum %></td>
</tr>
<tr>
<td width="150">Vinster</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Insläptta mål</td>
<td width="10"><b>2</td>
</tr>
<tr>
<td width="150">Oavgjorda</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Gjorda mål per match</td>
<td width="10"><b>3</td>
</tr>
<tr>
<td width="150">Förluster</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Insläptta mål per match</td>
<td width="10"><b>2</td>
</tr>
<tr>
<td width="100%" colspan="5"><hr style="height: 1; color: black"></td>
</tr>
</table>
<table width="410" cellpadding="1" cellspacing="0">
<tr>
<td width="80" style="font-weight: bold">Datum</td>
<td width="250" style="font-weight: bold">Lag</td>
<td width="60" style="font-weight: bold; text-align: center">Resultat</td>
<td width="20" style="font-weight: bold; text-align: center">Typ</td>
</tr>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("db/amica.mdb")
Set Rs = Conn.Execute("SELECT * FROM Post ORDER BY DATUM DESC")
sql ="select sum(Gjorda) from Post"
set objRS = Conn.execute(sql)
goalSum = objRS(0)
Do Until Rs.EOF
%>
<tr>
<td width="80"><%=rs("datum")%></td>
<td width="250">
<% if lcase(rs("spelplats")) = "hemma" then
response.write "Amica Wronki - "& rs("motstandare")
else
response.write rs("motstandare") &" - Amica Wronki "
end if %>
</td>
<td width="60" style="text-align: center">
<% if lcase(rs("spelplats")) = "hemma" then %>
<%= rs("gjorda") %> - <%= rs("inslappta") %>
<% else %>
<%= rs("inslappta") %> - <%= rs("gjorda") %>
<% end if %>
</td>
<td width="20" style="text-align: center"><img src="<%= rs("typ") %>.gif" width="6" height="6"
title="<%
if rs("typ") = "serie" then
response.write"Seriematch"
elseif rs("typ") ="cup" then
response.write"Cupmatch"
elseif rs("typ") = "traning" then
response.write"Träningsmatch"
elseif rs("typ") = "kompis" then
response.write"Kompisligamatch"
elseif rs("typ") = "utmaning" then
response.write"Utmaning"
end if
%>"></td>
</tr>
<%
Rs.Movenext
Loop
Rs.Close : Set Rs = Nothing
Conn.Close : Set Conn = Nothing
%>
</table>
</body>
</html>
<html>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("db/amica.mdb")
sql ="select sum(Gjorda) from Post"
set objRS = Conn.execute(sql)
goalSum = objRS(0)
%>
<table width="410" cellpadding="1" cellspacing="0">
<tr>
<td width="150">Spelade matcher</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Gjorda mål</td>
<td width="10"><b><%= goalSum %></td>
</tr>
<tr>
<td width="150">Vinster</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Insläptta mål</td>
<td width="10"><b>2</td>
</tr>
<tr>
<td width="150">Oavgjorda</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Gjorda mål per match</td>
<td width="10"><b>3</td>
</tr>
<tr>
<td width="150">Förluster</td>
<td width="10"><b>1</td>
<td width="90"></td>
<td width="150">Insläptta mål per match</td>
<td width="10"><b>2</td>
</tr>
<tr>
<td width="100%" colspan="5"><hr style="height: 1; color: black"></td>
</tr>
</table>
<table width="410" cellpadding="1" cellspacing="0">
<tr>
<td width="80" style="font-weight: bold">Datum</td>
<td width="250" style="font-weight: bold">Lag</td>
<td width="60" style="font-weight: bold; text-align: center">Resultat</td>
<td width="20" style="font-weight: bold; text-align: center">Typ</td>
</tr>
<%
Set Rs = Conn.Execute("SELECT * FROM Post ORDER BY DATUM DESC")
Do Until Rs.EOF
%>
<tr>
<td width="80"><%=rs("datum")%></td>
<td width="250">
<% if lcase(rs("spelplats")) = "hemma" then
response.write "Amica Wronki - "& rs("motstandare")
else
response.write rs("motstandare") &" - Amica Wronki "
end if %>
</td>
<td width="60" style="text-align: center">
<% if lcase(rs("spelplats")) = "hemma" then %>
<%= rs("gjorda") %> - <%= rs("inslappta") %>
<% else %>
<%= rs("inslappta") %> - <%= rs("gjorda") %>
<% end if %>
</td>
<td width="20" style="text-align: center"><img src="<%= rs("typ") %>.gif" width="6" height="6"
title="<%
if rs("typ") = "serie" then
response.write"Seriematch"
elseif rs("typ") ="cup" then
response.write"Cupmatch"
elseif rs("typ") = "traning" then
response.write"Träningsmatch"
elseif rs("typ") = "kompis" then
response.write"Kompisligamatch"
elseif rs("typ") = "utmaning" then
response.write"Utmaning"
end if
%>"></td>
</tr>
<%
Rs.Movenext
Loop
Rs.Close : Set Rs = Nothing
Conn.Close : Set Conn = Nothing
%>
</table>
</body>
</html>
Det fungerar. Du är så himla snäll som hjälper till. Jag kan behöve ytterliggare lite hjlälp. Orkar du? Om du inte gör det så tackar jag för all tid du har hjälpt mig.