---
title: "Sortera via datum!!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/82278-sortera-via-datum"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "asp"
published: "2003-07-18T14:12:00.000Z"
updated: "2003-07-19T13:57:07.000Z"
replies: 22
views: 412
page: 1
pages: 2
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/82278-sortera-via-datum"
---

# Sortera via datum!!

_Sida 1 av 2._

## #1 — asp, 2003-07-18T14:12Z

Hej!

Jag har en databas med tabellen Nyheter där nyheter samlas, där sparar jag rubrik, text och sjävklart även datumet.

Nu vill jag sortera nyheter via månader så jag kan välja att visa nyheter mellan de olika månaderna. Det skall vara i en Select box.

Hoppas ni förstår!

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

## #2 — Josef, 2003-07-18T14:28Z

Låt se om jag har fattat detta rätt nu:

Du vill ha en selectbox innehållande de måndader som det finns nyheter ifrån i databasen. När man sedan väljer ett värde från selectboxen ska alla nyheter från den månaden visas. 

Är detta rätt uppfattat?

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

## #3 — asp, 2003-07-18T14:39Z

Helt korrekt!

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

## #4 — Josef, 2003-07-18T14:50Z

Är kolummen i tabellen av date/time-typ?

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

## #5 — asp, 2003-07-18T15:05Z

japp..

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

## #6 — Jesper T, 2003-07-18T16:34Z

Något liknande kanske:

```
datum_select1=ReQuest.form("datum1")
datum_select2=ReQuest.form("datum2")

SELECT * FROM tabellen WHERE datum between #"& datum_select1 &"# and #"& datum_select2 &"#"
```

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

## #7 — asp, 2003-07-18T16:39Z

Men jag vill ju att den skall uppdaterasautomatiskt när det kommer en nyhet i en ny månad..

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

## #8 — Josef, 2003-07-18T16:46Z

Du får ju hämta alla nyhetsdatum:

```
SELECT DISTINCT datum FROM nyheter ORDER BY datum
```

Sedan får du loopa ut alla datum i form av månads namn:

```
Do until objRs.EOF
     Response.Write("<option>" & month(objRs("datum")) & "</option>")
    objRs.MoveNext
Loop
```

Sedan när man har valt månad får du hämta alla nyheter vars datum stämmer överens med värdet i selectboxen.

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

## #9 — asp, 2003-07-18T16:49Z

"Sedan när man har valt månad får du hämta alla nyheter vars datum stämmer överens med värdet i selectboxen."

Hur gör jag det?

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

## #10 — Jesper T, 2003-07-18T16:59Z

Så här kanske:

```
datum_select1 = ReQuest.form("datum")
datum_select2 = dateadd("m",1,datum_select1)

"SELECT * FROM tabellen WHERE datum between #"& datum_select1 &"# and #"& datum_select2 &"#"
```

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

## #11 — asp, 2003-07-18T20:14Z

Denna kod går väl inte?

SELECT DISTINCT datum FROM nyheter ORDER BY datum

Eftersom datum är tex 2003-07-17 22:13:34 så de kommer aldrig upprepas.

Borde man inte skriva month(datum)?

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

## #12 — asp, 2003-07-19T08:35Z

Ok.

Strunta i det jag gjorde ovan och hjlälp med med detta i stället.

Hur skriver jag ut alla månader från ett angett datum tills dagens?

typ...

```
manad1 = month("2003-05-12")
manad2 = month(date())

Do Until manad1 => manad2
 Response.Write("<option>" & manad1 & "</option>")
manad1=manad1+1
Loop
```

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

## #13 — Jesper T, 2003-07-19T09:49Z

Vill du skriva ut samtliga dagar mellan dessa datum eller bara månaderna?

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

## #14 — asp, 2003-07-19T10:45Z

Vill att de skall ståsåhär:

Januari
Februari
Mars
osv..

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

## #15 — Jesper T, 2003-07-19T12:23Z

Mellan 2003-05-12 och 2003-07-19(som i ditt exempel ovan) så vill du att det skall stå:

```
<option>Maj</option>
<option>Juni</option>
<option>Juli</option>
```

...eller?

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

## #16 — asp, 2003-07-19T12:28Z

Japp! och value skall vara månadens nummer.. dvs:

```
<option value="5">Maj</option>
<option value="6">Juni</option>
<option value="7">Juli</option>
```

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

## #17 — Jesper T, 2003-07-19T13:09Z

Skulle kunna vara en variant:

```
Dim manad1,manad2,dtpart,i
manad1 = "2003-05-12"
manad2 = datediff("m",manad1, date)
dtpart=datepart("m",manad1)

i=0
for i = 0 to manad2
 Response.Write("<option value="& dtpart &">" & monthname(dtpart) & "</option>")
dtpart=dtpart+1
next
```

/RED

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

## #18 — Jesper T, 2003-07-19T13:18Z

Skulle kunna vara en variant för svenska månader.

```
Dim manad1,manad2,dtpart,i,dtarray
manad1 = "2003-05-12"
manad2 = datediff("m",manad1, date)
dtpart=datepart("m",manad1)
dtarray=array("januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december")
i=0
for i = 0 to manad2
 Response.Write("<option value="& dtpart &">" & dtarray(dtpart-1) & "</option>")
dtpart=dtpart+1
next
```

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

## #19 — Jesper T, 2003-07-19T13:22Z

Nja, det blir inte så fint om det är fler än 12 månader som skall visas.
Testa då att lägga till: 
if dtpart \> 12 then dtpart = 1
under: dtpart = dtpart +1

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

## #20 — asp, 2003-07-19T13:42Z

Ok, så koden blir:

```
Dim manad1,manad2,dtpart,i,dtarray
manad1 = "2003-05-12"
manad2 = datediff("m",manad1, date)
dtpart=datepart("m",manad1)
dtarray=array("januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december")
i=0
for i = 0 to manad2
 Response.Write("<option value="& dtpart &">" & dtarray(dtpart-1) & "</option>")
dtpart=dtpart+1
if dtpart > 12 then dtpart = 1
end if
next
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/82278-sortera-via-datum  
Nästa sida: https://www.webforum.nu/amne/asp/82278-sortera-via-datum/page2.md
