---
title: "Sammanfatta Antal poster i en databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12088-sammanfatta-antal-poster-i-en-databas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "cHeMiCaL-X"
published: "2001-10-14T11:21:00.000Z"
updated: "2001-10-14T13:00:00.000Z"
replies: 16
views: 202
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/12088-sammanfatta-antal-poster-i-en-databas"
---

# Sammanfatta Antal poster i en databas

## #1 — cHeMiCaL-X, 2001-10-14T11:21Z

Hur gör man för att samman fatta antal poster i t.ex. Tabell 1, tabell 2, tabell 3 osv?

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

## #2 — LarsG, 2001-10-14T11:26Z

```
set connect = server.createobject("adodb.connection")
connect.open "dsn"
sql = "select count(*),'Tabell1' from tabell1 union all " & _
"select count(*),'Tabell2' from tabell2 union all " & _
"select count(*),'Tabell3' from tabell3 " 
set rs = connect.execute(sql)

while not rs.eof
response.write rs(1) & " innehåller " & rs(0) & " rader <br>"
rs.movenext
wend
rs.close
connect.close
```

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

## #3 — nakoz, 2001-10-14T11:28Z

beror ju på vad du menar med att sammanfatta. men ett sätt är ju att du gör en count på respektive tabell. 

typ:

```
SQL = "SELECT COUNT(*) AS antalPoster FROM tabell1"
Set RS = conn.Execute(SQL)

Response.Write RS("antalPoster")
```

ouch, länge sen man va här, så jag är säker på att nån kan ett bättre sätt, men jag är inte riktigt på det klara med syftet av detta... :)

mvh.

\[r\]
ah, förstår nu att du måste menat som LarsG gjorde... don't mind me.. :)
\[/r\]

\[Redigerat av nakoz den 14 okt 2001\]

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

## #4 — cHeMiCaL-X, 2001-10-14T11:28Z

Förlåt.. jag menade typ antal poster i tabell 1 + antal poster i tabell 2 osv..

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

## #5 — cHeMiCaL-X, 2001-10-14T11:31Z

Skall testa med LarsG's exempel.

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

## #6 — nakoz, 2001-10-14T11:33Z

hm, men då funkar väl LarsG:s sätt? annars kan du ju göra som jag sa, fast kalla de rs1, rs2, rs3 osc.. samt: antalPoster1, antalPoster2, antalPoster3 osv..
å sen göra en typ:
Dim svar
svar = rs1("antalPoster1") + rs2("antalPoster2") + rs3("antalPoster3")
Response.Write rs1("antalPoster1") &" + "& rs2("antalPoster2") &" + "& rs3("antalPoster3") &" = "& svar

jag komplicerar till saker som alltid :)

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

## #7 — cHeMiCaL-X, 2001-10-14T11:41Z

LarsG's exempel ser ut så här:

Tabbell1 innehåller 24 rader
Tabbell2 innehåller 34 rader
Tabbell3 innehåller 55 rader
osv..

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

## #8 — nakoz, 2001-10-14T12:01Z

hur vill du ha det då?

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

## #9 — cHeMiCaL-X, 2001-10-14T12:06Z

Antal poster från tabell 1 + Antal poster från tabell 2 + antal poster från tabell 3 = summan

Nånting sånt..

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

## #10 — nakoz, 2001-10-14T12:30Z

det kan du ju faktist få fram med mitt script om du jobbar lite med det... :)

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

## #11 — cHeMiCaL-X, 2001-10-14T12:35Z

Så här har jag gjort nu:

```
<%
Dim Total

set connect = server.createobject("adodb.connection")
connect.open "bypath"
tabell1 = "SELECT COUNT(*) AS antalPoster1 FROM apps"
tabell2 = "SELECT COUNT(*) AS antalPoster2 FROM console"
tabell3 = "SELECT COUNT(*) AS antalPoster3 FROM games"
tabell4 = "SELECT COUNT(*) AS antalPoster4 FROM movies"
tabell5 = "SELECT COUNT(*) AS antalPoster5 FROM music"

Set RS1 = connect.Execute(tabell1)
set RS2 = connect.execute(tabell2)
Set RS3 = connect.Execute(tabell3)
set RS4 = connect.execute(tabell4)
Set RS5 = connect.Execute(tabell5)

Total = RS1("antalPoster1") + RS2("antalPoster2") + RS3("antalPoster3") + RS4("antalPoster4") + RS5("antalPoster3")

while not rs.eof
response.write "<font color='red'>" & Total & "</font>"
rs.movenext
wend
rs.close
connect.close

%>
```

Och då får jag det här felet:
That makes a total of 
ADODB.Recordset error '800a0cc1' 

Item cannot be found in the collection corresponding to the requested name or ordinal. 

/bypath/total.asp, line 18 

\[Redigerat av cHeMiCaL-X den 14 okt 2001\]

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

## #12 — LarsG, 2001-10-14T12:44Z

> RS5("antalPoster3")

skall vara

> RS5("antalPoster5")

Sen så får du nog konvertera värdena till long vid summeringen

```
Total = Clng(RS1("antalPoster1")) + Clng(RS2("antalPoster2")) + Clng(RS3("antalPoster3")) + Clng(RS4("antalPoster4")) + Clng(RS5("antalPoster5"))

response.write "<font color='red'>" & Total & "</font>"
connect.close
```

Varför hade du en loop med här?

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

## #13 — cHeMiCaL-X, 2001-10-14T12:47Z

glömde "" i RS.Execute("tabell1") osv 

men nu får jag ett nytt fel :(

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'. 

/bypath/total.asp, line 12

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

## #14 — cHeMiCaL-X, 2001-10-14T12:50Z

Glömde att ta bort loopen RS.Movenext
och det andra..

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

## #15 — cHeMiCaL-X, 2001-10-14T12:56Z

Nu ser det ut så här:

```
<%
Dim Total

set connect = server.createobject("adodb.connection")
connect.open "bypath"
tabell1 = "SELECT COUNT(*) AS antalPoster1 FROM apps"
tabell2 = "SELECT COUNT(*) AS antalPoster2 FROM console"
tabell3 = "SELECT COUNT(*) AS antalPoster3 FROM games"
tabell4 = "SELECT COUNT(*) AS antalPoster4 FROM movies"
tabell5 = "SELECT COUNT(*) AS antalPoster5 FROM music"

Set RS1 = connect.Execute("tabell1")
set RS2 = connect.execute("tabell2")
Set RS3 = connect.Execute("tabell3")
set RS4 = connect.execute("tabell4")
Set RS5 = connect.Execute("tabell5")

Total = Clng(RS1("antalPoster1")) + Clng(RS2("antalPoster2")) + Clng(RS3("antalPoster3")) + Clng(RS4("antalPoster4")) + Clng(RS5("antalPoster5"))

response.write "<font color='red'>" & Total & "</font>"
connect.close

%>
```

och jag får forfarande samma fel:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'. 

/bypath/total.asp, line 12 

Fattar inte vad jag har gjort för fel med Sql uttrycket

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

## #16 — LarsG, 2001-10-14T12:57Z

> glömde "" i RS.Execute("tabell1") osv

Nej, det skall inte vara så. Det skall vara som du skrivit först

RS.Execute(tabell1)

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

## #17 — cHeMiCaL-X, 2001-10-14T13:00Z

Nu funkar det :)   :)   :)

Tack så mycket för hälpen LarsG och Nakoz

\[Redigerat av cHeMiCaL-X den 14 okt 2001\]

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12088-sammanfatta-antal-poster-i-en-databas
