---
title: "Hur många i varje åldersgrupp?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/106889-hur-många-i-varje-åldersgrupp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Silve"
published: "2004-07-07T22:27:21.000Z"
updated: "2004-07-08T08:37:58.000Z"
replies: 5
views: 300
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/106889-hur-många-i-varje-åldersgrupp"
---

# Hur många i varje åldersgrupp?

## #1 — Silve, 2004-07-07T22:27Z

Tjenare!
Har alla medlemmars åldrar i rätt tal.
T ex 18, 19 osv.....
Skall ta ut alla som är mellan 18-25, 26-30 osv....
Hur gör jag detta för att vara så skonsam som möjligt mot servern?
Måste jag göra en dbkoppling för varje  eller kan jag göra på något lättare sätt??

Tacksam för svar!

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

## #2 — magnusfernstrom, 2004-07-08T00:14Z

Jag slängde ihop ett litet exempel nu såhär på natten.

```
<form name="skicka" method="post" action="tester.asp">
Mellan:
<input type="text" name="alder1" size="3" value="">
och
<input type="text" name="alder2" size="3" value="">
<input type="submit" value="Sök">
</form>

<%
   If Request.Form("alder1") > 0 AND Request.Form("alder2") > 0 Then

   Set db = Server.CreateObject("ADODB.Connection")
   db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("alder.mdb")
   SQL = "SELECT * FROM aldrar WHERE aldrar > " & Request.Form("alder1") & " AND aldrar < " & Request.Form("alder2") & ""
   Set rs = db.Execute(SQL)

   Do until rs.EOF
%>

   <%=rs("aldrar")%><br />

<%
   rs.MoveNext
   Loop

   Else
   Response.Write "Fyll i en ålder"
   End If
%>
```

Först kollar vi om strängen innehåller något. Om den inte gör det skriver vi ut meddelandet "Fyll i en ålder". Så vi slipper  felmeddelandet om att strängarna inte innehåller något. 

SQL-koden:

```
SELECT * FROM aldrar WHERE aldrar > " & Request.Form("alder1") & " AND aldrar < " & Request.Form("alder2") & ""
```

I klarspråk; Ta fram alla poster där värdet i tabellen aldrar är mer (**\>**) än värdet som skrevs in i första textboxen och mindre (**\<**) än värdet i den andra textboxen.

Hoppas det hjälpte något.

/Magnus

**REDIDERING** Där du självklart kan ersätta textboxarna med en selectlist eller något som passar in. :)

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

## #3 — Erik Juhlin, 2004-07-08T06:29Z

Ett tips är att använda sig utav BETWEEN. Gäller dock istället för \<= jämförelse. Känns dock vettigare med \<= jämförelse. :)

```
SELECT * FROM aldrar WHERE aldrar BETWEEN " & Request.Form("alder1") & " AND " & Request.Form("alder2")
```

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

## #4 — toha, 2004-07-08T06:45Z

Eller för att få ut varje åldergrupp i samma sql-fråga:

```
SELECT	'10-14' AS Alder, count(*) AS Antal	FROM	aldrar	WHERE	alder BETWEEN 10 AND 14
UNION
SELECT	'15-17', count(*)	FROM	aldrar	WHERE	alder BETWEEN 15 AND 17
UNION
SELECT	'18-25', count(*)	FROM	aldrar	WHERE	alder BETWEEN 18 AND 25
UNION
SELECT	'26-30', count(*)	FROM	aldrar	WHERE	alder BETWEEN 26 AND 30
UNION
SELECT	'31-35', count(*)	FROM	aldrar	WHERE	alder BETWEEN 31 AND 35
UNION
SELECT	'36-40', count(*)	FROM	aldrar	WHERE	alder BETWEEN 36 AND 40
```

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

## #5 — magnusfernstrom, 2004-07-08T06:46Z

toha: Går det inte lika bra att istället köra med strängar? Jag menar, så slipper man skapa en sådan rad för varje tal man vill söka emellan. Eller missuppfattade jag?

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

## #6 — toha, 2004-07-08T08:37Z

Det var nog jag som missuppfattade frågan. Jag trodde man ville få ut fasta åldersuppgifter.

Helt klart onödigt med min sträng om man ska låta användaren skriva ett åldersintervall.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/106889-hur-många-i-varje-åldersgrupp
