---
title: "Gruppera händelser via datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/126354-gruppera-händelser-via-datum"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "MrMojo"
published: "2005-04-13T21:46:53.000Z"
updated: "2005-07-15T06:22:19.000Z"
replies: 16
views: 602
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/126354-gruppera-händelser-via-datum"
---

# Gruppera händelser via datum

## #1 — MrMojo, 2005-04-13T21:46Z

Om jag har en lista på evenemang och vill gruppera alla evenemang under endast en datummärkning istället för att visa datum för varje post. Hur gör man då?

Så som det ser ut nu:

\----------------------------

2005-04-13
Evenemang 1

2005-04-13
Evenemang 2

2005-04-13
Evenemang 3

2005-04-15
Evenemang 4

\----------------------------

Men om jag vill ha det så här:

\----------------------------

2005-04-13
Evenemang 1
Evenemang 2
Evenemang 3

2005-04-15
Evenemang 4

\----------------------------

Hur gör man då?

Lite kod:

```
<%=(rs_turne.Fields.Item("turne_datum").Value)%><br>
 <%=(rs_turne.Fields.Item("turne_bandnamn").Value)%> - <%=(rs_turne.Fields.Item("turne_info").Value)%>
```

 

Tacksam för idéer. Jag har kört fast.

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

## #2 — Guffa, 2005-04-13T21:51Z

Lägg datumet för posten i en variabel så att du kan jämföra med datumet när du ska visa nästa post. Om de inte är samma så visar du datumet.

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

## #3 — MrMojo, 2005-04-14T09:47Z

Hur menar du då? Är lite kass på sånt...  :r

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

## #4 — Fraggel, 2005-04-14T10:45Z

```
SELECT * FROM tbl GROUP BY eventDate
```

 kanske ?

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

## #5 — Guffa, 2005-04-14T15:38Z

Så:

datCurrent = #1900-01-01#
Do ...
   If datCurrent \<\> rs_turne("turne_datum") Then
      datCurrent = rs_turne("turne_datum")
      Response.Write datCurrent & "\<br\>"
   End If
   ... visa eventet
Loop ...

> **Fraggel skrev:**
>
> ```
> SELECT * FROM tbl GROUP BY eventDate
> ```
>
>  kanske ?

Det fungerar inte. Du kan bara hämta ut de fält du grupperar på, och då får du bara ut datumen, inte några event.

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

## #6 — MrMojo, 2005-04-15T08:23Z

Idiot  :q  som jag är så fattar jag inte hur tusan jag ska få det att funka. Provade med massor av varianter igår kväll, men utan något vettigt resultat. Fler förslag? Kanske en kod anpassad för såna som mig?  :birp

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

## #7 — J.N., 2005-04-15T08:58Z

HEJ!

Det som Guffa skrivit är helt rätt, har du testat med CDate runt värdena?
Testa även att skriva ut datumen, så du vet att du gör det du tror du gör!

Principen är:
\- skriv ut rs("datum")
\- skriv ut info
\- för över rs("datum") till forra_datum
\- hoppa till nästa rs
\- jämför om rs("datum") är samma som forra_datum
\- om ej samma, skriv ut "\<br\>"
\- skriv ut rs("datum")
\- skriv ut info
\- osv

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

## #8 — asp, 2005-04-15T15:54Z

```
[red]
temp = ""
do until rs.eof
      if temp <> rs("datum") then
            response.write("<p>" & rs("datum"))
      end if
            response.write(rs("text") & "<br>")
            temp = rs("datum")
rs.movenext
loop[/red]
```

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

## #9 — Fraggel, 2005-04-17T18:21Z

Detta borde vara enkelt att lösa med lite rekursivt tänkande...

har en snutt kod någonstans skall leta lite efter den...

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

## #10 — Fraggel, 2005-04-17T18:24Z

Hmm detta löser inte problemet direkt med det är ett steg i rätt riktning...

OBS detta är en test jag gjorde för ett tag sedan så den ser lite rörigt ut men det går att bena ut ;) .

Found it

```
<%
  Dim d1,d2,d3,d4,d5,dtemp
  Set d1 = Server.CreateObject("scripting.dictionary")
  Set d2 = Server.CreateObject("scripting.dictionary")
  Set d3 = Server.CreateObject("scripting.dictionary")
  Set d4 = Server.CreateObject("scripting.dictionary")
  Set d5 = Server.CreateObject("scripting.dictionary")
  
  Set d1("meny1") = d2
  Set d1("meny2") = d3
  Set d3("meny8") = Server.CreateObject("scripting.dictionary")
  Set d3("meny8")("meny9") = Server.CreateObject("scripting.dictionary")  
  Set d2("meny3") = d4
  Set d2("meny4") = d5
  Set d1("meny1")("meny4")("meny5") = Server.CreateObject("scripting.dictionary")
  Set d1("meny1")("meny4")("meny5")("meny6") = Server.CreateObject("scripting.dictionary")
  set dtemp = d1("meny1")
  set dtemp = dtemp("meny4")
  set dtemp("meny7") = Server.CreateObject("scripting.dictionary")
%>
<PRE>
<%
  Sub rec(ByRef o,i)
    Dim key,t
    For each key in o.keys
      For t = 0 To i
        Response.Write " "
      Next
      Response.Write "["& key &"]" & key & vbcrlf
      rec o(key),i+1
      Response.Write "[\"&key&"]" & vbcrlf
    Next
  End Sub
  rec d1,0
%>
</PRE>
```

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

## #11 — emission, 2005-04-17T21:58Z

Guffas exempel är alldeles utmärkt. Kör på det.

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

## #12 — MrMojo, 2005-07-13T21:07Z

Ok, inget klart!

Har fastnat igen. Detta har jag legat lågt med, men nu måste jag få till det.

Jag bifogar min .asp fil. Finns det någon vänlig själ som kan fixa till koden i den som jag vill ha det?

Bilagor:

- [turneguide.zip](https://www.webforum.nu/a/6986.zip)

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

## #13 — @nders, 2005-07-14T06:12Z

Bifoga koden i inlägget istället, och rensa bort det som är irrelevant.

Gör det inte onödigt svårt för folk att hjälpa till!

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

## #14 — MrMojo, 2005-07-14T06:25Z

Ok, ursäkta min klantighet.  :r 

Först ut är min databaskoppling:

```
<%
Dim rs_turne
Dim rs_turne_numRows

Set rs_turne = Server.CreateObject("ADODB.Recordset")
rs_turne.ActiveConnection = MM_smm_STRING
rs_turne.Source = "SELECT *  FROM turneguide  WHERE turne_datum >  date()-1  ORDER BY turne_datum ASC"
rs_turne.CursorType = 0
rs_turne.CursorLocation = 2
rs_turne.LockType = 1
rs_turne.Open()
%>
```

 

Sen där jag hämtar datum och evenemang:

```
<%=(rs_turne.Fields.Item("turne_datum").Value)%><br>
<%=(rs_turne.Fields.Item("turne_bandnamn").Value)% - <%=(rs_turne.Fields.Item("turne_info").Value)%>
```

 

Tacksam för hjälp!

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

## #15 — MrMojo, 2005-07-14T20:51Z

Ingen?

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

## #16 — @nders, 2005-07-15T06:12Z

Enligt Guffas exempel (och lite renskrivet, du behöver inte kladda till utskrifterna från recordsetet):

```
datCurrent = #1988-01-01#
While not rs_turne.EOF
	If datCurrent <> CDate(rs_turne("turne_datum")) then
		datCurrent = CDate(rs_turne("turne_datum"))
		Response.write datCurrent & "<br>"
	End if
	Response.write rs_turne("turne_bandnamn") & " - " & rs_turne("turne_info") & "<br>"
	rs_turne.movenext
Wend
```

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

## #17 — MrMojo, 2005-07-15T06:22Z

Tack @anders! Du är en klippa!  :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/126354-gruppera-händelser-via-datum
