---
title: "Sortera efter vecka samtidigt som dag"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/58244-sortera-efter-vecka-samtidigt-som-dag"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jns"
published: "2002-11-06T16:08:55.000Z"
updated: "2002-11-15T09:18:57.000Z"
replies: 22
views: 624
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/58244-sortera-efter-vecka-samtidigt-som-dag"
---

# Sortera efter vecka samtidigt som dag

_Sida 1 av 2._

## #1 — jns, 2002-11-06T16:08Z

jag ska göra en händelse lista som ska se ut typ så här:

**Vecka 10:** 

**Mån**

hockey
vi ska spela hockey, tag med skridskor.

Bad
idag ska vi bada, medtag badkläder.

**fredag**

fotboll
fotboll ska vi spela, ja

**Vecka 11**

**tisdag**

Pankaksätartävling
\*phew\*

ovs ovs...

problemet är att jag måste sortera efter både vecka och dag och tabellan ska bara visa de veckor som finns i databasen.
Vanlig asp med access databas. :r

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

## #2 — solbulle, 2002-11-06T18:20Z

ReD. Kanske inte...

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

## #3 — Tobbster, 2002-11-06T19:04Z

Hur ser din databas struktur ut ?

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

## #4 — jns, 2002-11-06T19:10Z

5 kolumer:
id, Vecka, Dag, Rubrik, Beskrivning

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

## #5 — Tobbster, 2002-11-06T19:17Z

```
Select Vecka, Dag, Rubrik, Beskrivning from tabell order by Vecka, Dag
```

Sen får du se till att vecka och dag bara skrivs ut en gång för varje vecka och dag. Det kan du fixa igenom att gämföra det du har i rs("vecka") och rs("dag") med det som skrevs ut föra varvet i loopen.....

(Du kommer inte vara tvungen att göra enligt ovan om du bara ska ha en aktivitet per dag , men det vet ju inte jag om du ska.)

Fattar du vad jag menar .......?

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

## #6 — jns, 2002-11-06T19:39Z

hmm...
jag förstår inte riktigt...

```
order by Vecka, Dag
```

hur sorterar den då?
men hur ska loopen se ut?

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

## #7 — Ekström, 2002-11-06T19:44Z

Loopen ska antagligen se ut som du har den nu, har inte kollat efter någon kod så jag vet inte riktigt.

Med den koden så sorterar den först efter vilken vecka det är. Efter det sorterar den efter vilken dag det är. Förstår du?

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

## #8 — Tobbster, 2002-11-06T19:46Z

```
order by Vecka, Dag
```

Sorterar först allt på vecka sen inom veckan sorteras allt efter dagar.......

Hur loopen ska se ut beror ju på hur du vill att resultatet ska se ut.....

Men om du gör en loop som skriver ut alla poster så kommer ju vecka och dagen skrivas ut för varje aktivitet och det vill du förmodligen inte.

Det är där jag menar att du måste lägga det vecka och dag i en variabel och gemföra med föregånde varv i loppen och om då dag och eller vecka inte är samma så ska du skriva ut det igen !

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

## #9 — jns, 2002-11-06T20:07Z

nu ser koden ut såhär: (vet inte riktigt om det borde fungera)

```
<%
set mincon =Server.CreateObject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")
mincon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("kalasmannen\db\nyponet.mdb")
SQL = "SELECT * from handelser order by Vecka asc"
rs.Open SQL, mincon

Do while Not rs.EOF
%>
<body bgcolor="#9BB960" text="#FFFFFF">
<table width="220" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td><font face="Tahoma, Arial" size="2"><b>Vecka <%=rs("Vecka")%></b></font></td>
  </tr>
  <tr> 
    <td><font face="Tahoma, Arial" size="2"></font></td>
  </tr>
<% 
do while not rs.EOF
SQL = "SELECT * from handelser order by dag asc where Vecka = rs('Vecka')"

%>
  <tr> 
    <td><font face="Tahoma, Arial" size="2"><b><%=rs("Dag")%></b></font></td>
  </tr>
  <tr> 
    <td><img src="pics/linefill.gif" width="220" height="10"></td>
  </tr>
  <tr> 
    <td><font face="Tahoma, Arial" size="2"><b><%=rs("Rubrik")%></b></font></td>
  </tr>
  <tr> 
    <td><font face="Tahoma, Arial" size="2"><%=rs("Beskrivning")%></font></td>
  </tr>
  <tr>
    <td><img src="pics/linefillwhite.gif" width="220" height="10"></td>
  </tr>
rs.MoveNext
Loop
</table>
rs.MoveNext
Loop
```

och felmeddelandet blir:

```
Microsoft VBScript compilation error '800a03fb' 

Expected 'Loop' 

/kalasmannen/nypontest/handelser.asp, line 34
```

och rad 34 är:

```
    <td><font face="Tahoma, Arial" size="2"><%=rs("Beskrivning")%></font></td>
```

\-raden...

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

## #10 — jns, 2002-11-07T14:40Z

hur ska jag då ändra min kod?

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

## #11 — Ekström, 2002-11-07T14:47Z

Förstår inte riktigt hur du tänkt när du gjort det där...

Vad ska denna rad göra:

```
SQL = "SELECT * from handelser order by dag asc where Vecka = rs('Vecka')"
```

 En SQL-sträng sådär är ju som vilken sträng som helst. Du måste lägga det i ett recordset för att kunna hämta poster.

Såhär skulle den kunna se ut:

```
SQL = "SELECT * from handelser where Vecka = "& rs("Vecka") &" order by dag asc "
```

 Men du måste som sagt exekvera den för att kunna hämta poster. Du kan heller inte ha samma namn på dina recordsets om de arbetar i varann så att säga.

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

## #12 — jns, 2002-11-07T16:05Z

ok...
men hur löser jag det då? att inte ha samma namn på mina rs?
ska jag öppna databasen 2 gånger då eller?
\*känner sig dum\*
och vart ska jag använda

```
Select Vecka, Dag, Rubrik, Beskrivning from tabell order by Vecka, Dag
```

?

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

## #13 — Cy-4, 2002-11-07T18:32Z

Du får väl öppna recsetet med den sql-strängen du fått innan sen kanske det kan funka med något sådant här, har inte testat detta utan skriver den bara från huvudet, detta kanske inte blir helt korrekt kod heller.

```
vecka = ""
dag = ""

Do Until rs.eof
  If vecka <> rs("vecka") Then
    vecka = rs("vecka")
    Response.Write rs("vecka") & "<br>"
  End If
  If dag <> rs("dag") Then
    dag = rs("dag")
    Response.Write rs("dag") & "<br>"
  End If
  Response.Write rs("Rubrik") & "<br>"
  Response.Write rs("Beskrivning") & "<br>"
Loop
```

Som jag sa innan så har jag inte en aning om det funkar, hoppas kan man ju alltid.

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

## #14 — jns, 2002-11-08T11:21Z

nu ser koden ut så här (bara testkod):

```
<%
set mincon =Server.CreateObject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")
mincon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\kalasmannen\db\nyponet.mdb")
SQL = "Select Vecka, Dag, Rubrik, Beskrivning from handelser order by Vecka, Dag"
rs.Open SQL, mincon

vecka = ""
dag = ""

Do Until rs.eof
  If vecka <> rs("Vecka") Then
    vecka = rs("Vecka")
    Response.Write "<b>Vecka " & rs("Vecka") & "</b><br>"
  End If
  If dag <> rs("Dag") Then
    dag = rs("Dag")
    Response.Write "<b>" & rs("Dag") & "</b><br>"
  End If
  Response.Write rs("Rubrik") & "<br>"
  Response.Write rs("Beskrivning") & "<br>"
Loop
%>
```

men då ser resultatet ut såhär:

```
vecka 41

måndag

hockey

vi ska spela en massa hockey

hockey

hockey

hockey

hockey

hockey

hockey

och "hockey" 45 gånger till.
```

koden visar bara den sista posten i databasen och uprepar den rubriken 50 gånger. sidan tar även mycket lång tid att ladda även när jag hostar på min egen dator.
hur ska den korrekta koden se ut?

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

## #15 — Cy-4, 2002-11-08T17:50Z

det var ju ganska mysko faktiskt. Jag vet inte redigt vad det kan vara fel på, troligen så är det min logik.

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

## #16 — jns, 2002-11-09T23:54Z

jo, jag misstänker fel på loopen :)
mycket verkar fattas, tex en "next" "grej".
nån har nått förslag på en korrekt loop?
o tack för hjälpen föresten...

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

## #17 — crisse6, 2002-11-10T06:28Z

kan du inte gora nagot sant har?

```
N = N + 1
do until rs.eof or N = 1
'kod....
rs.movenext
loop
```

eller jag vet inte.... :r

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

## #18 — jns, 2002-11-10T15:11Z

jo...
men ska jag bara skriva Response.Write rs("vecka") osv. där du skrivit kod?

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

## #19 — crisse6, 2002-11-10T20:13Z

ja...

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

## #20 — jns, 2002-11-11T15:21Z

detta kan ju inte stämma:

```
N = N + 1
do until rs.eof or N = 1
```

N är ju redan 1 så loopen startar aldrig..

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/58244-sortera-efter-vecka-samtidigt-som-dag  
Nästa sida: https://www.webforum.nu/amne/asp/58244-sortera-efter-vecka-samtidigt-som-dag/page2.md
