---
title: "Hjälp att förkorta denna koden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/67489-hjälp-att-förkorta-denna-koden"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Känning"
published: "2003-02-06T23:28:34.000Z"
updated: "2003-02-07T14:56:35.000Z"
replies: 7
views: 306
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/67489-hjälp-att-förkorta-denna-koden"
---

# Hjälp att förkorta denna koden

## #1 — Känning, 2003-02-06T23:28Z

Hej

Jag är lite nybörjare med detta men jag har pillat ihop en liten sida som visar alla spel som vi har lagt. Det denna sidan göra är att räkna ut vad vi har i kassan. Men det känns väldigt omständigt, kan någon hjälpa mig att kapa av lite kod här?

\<html\>
\<head\>
\<title\>Spelsida\</title\>
\<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"\>
\</head\>

\<body\>
\<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("spel.mdb")&";"

SQL = "select \* from spel"
sql = sql & " order by ID"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3

vinst = 0
Do Until RS.EOF
If not IsNull(rs("vinst")) Then
    vinst = vinst + Cdbl(rs("vinst"))
End if
rs.MoveNext
Loop

rs.Close
Conn.Close

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("spel.mdb")&";"

SQL = "select \* from spel"
sql = sql & " order by ID"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3

insats = 0
Do Until RS.EOF
If not IsNull(rs("insats")) Then
    insats = insats + Cdbl(rs("insats"))
End if
rs.MoveNext
Loop

kassa = 0
kassa = vinst - insats

rs.Close
Conn.Close
%\>
\<table border="0" cellpadding="2" cellspacing="2" width="80%"\>
\<tr\>
\<td valign="top"\>
\<%
Response.Write "Kassa: " & kassa & "\<br\>"
Response.Write "Lagt spel för: " & insats & "\<br\>"
Response.Write "Vunna spel: " & vinst & "\<br\>"
%\>
\</td\>
\</tr\>
\</table\>
\</body\>
\</html\>

Permalänk: https://www.webforum.nu/p/67489

## #2 — Palle, 2003-02-07T00:40Z

Så här kanske: :)

```
[RED][FONT=Arial][1]<html> 
<head> 
<title>Spelsida</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<body> 

<% 

	intVinst = 0 
	intInsats = 0 
	
	Set Conn = Server.CreateObject("ADODB.Connection") 
	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("spel.mdb")
	Set RecSet = Conn.Execute("SELECT Sum(vinst) AS rsVinst, SUM(insats) AS rsInsats FROM spel")
	
		intVinst = RecSet("rsVinst")
		intInsats = RecSet("rsInsats")

	RecSet.Close : Set RecSet = Nothing
	Conn.Close : Set Conn = Nothing
	
	intKassa = Int(intVinst-intInsats)

%>

<table border="0" cellpadding="2" cellspacing="2" width="80%"> 
<tr> 
<td valign="top"><%= "Kassa: "& intKassa &"<br>Lagt spel för: "& intInsats &"<br>Vunna spel: "& intVinst %></td> 
</tr> 
</table> 

</body> 
</html>[/1][/FONT][/RED]
```

Permalänk: https://www.webforum.nu/p/942792

## #3 — Känning, 2003-02-07T07:28Z

En viss förbättring  ;)

Tusen tack

Permalänk: https://www.webforum.nu/p/942841

## #4 — Nickemannen, 2003-02-07T08:43Z

fast du skall nog ha med en If sats som kollar om RecSet.Eof eller inte.

Permalänk: https://www.webforum.nu/p/942905

## #5 — Palle, 2003-02-07T09:59Z

> **Nickemannen skrev:**
>
> fast du skall nog ha med en If sats som kollar om RecSet.Eof eller inte.

Nope, behövs inte här eftersom *noll* returneras även om 
databasen är tom då noll är standardvärdet för *Tal*. :)

Permalänk: https://www.webforum.nu/p/942965

## #6 — LarsG, 2003-02-07T13:20Z

En sum på ett tomt resultat blir null, inte noll.

Permalänk: https://www.webforum.nu/p/943125

## #7 — Palle, 2003-02-07T14:03Z

> **LarsG skrev:**
>
> En sum på ett tomt resultat blir null, inte noll.

Ett **u** eller **o** hit eller dit.. ;)
LarsG har givetvis rätt, Palle har fel. :)

..så för att få ett snyggt resultat måste man alltså tilldela variablerna 
intVinst och intInsats *noll*\-värden då summeringen returnerar *null*.

ex.

```
[RED]If IsNull(intVinst) Then intVinst = 0
If IsNull(intInsats) Then intInsats = 0[/RED]
```

Permalänk: https://www.webforum.nu/p/943159

## #8 — Känning, 2003-02-07T14:56Z

Vad gör man utan killar som er??  :)

Permalänk: https://www.webforum.nu/p/943195

---

Tråden på webben: https://www.webforum.nu/amne/asp/67489-hjälp-att-förkorta-denna-koden
