---
title: "paging enligt månader"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12040-paging-enligt-månader"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "laidback"
published: "2001-10-09T12:22:00.000Z"
updated: "2001-10-11T08:25:00.000Z"
replies: 36
views: 328
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/12040-paging-enligt-månader"
---

# paging enligt månader

_Sida 1 av 2._

## #1 — laidback, 2001-10-09T12:22Z

skulle vilja lista en användares alla inlägg månadsvis, nuvarande månaden ska alla inläggs titel o datum skrivas ut, men tidigare månader ska finnas textlänkar "september" "augusti" osv och när dessa klickas ska alla meddelanden skrivna den månaden listas med titel och datum. 

avancerat? \*förvirrad\*

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

## #2 — LarsG, 2001-10-09T12:51Z

Ett skelett. 

Tanken är att man har en sida, show.asp dit man skickar år och månad i querystring

```

<%
  m = request.querystring("month")
  if m = "" then m = month(date)
  y = request.querystring("year")
  if y = "" then y = year(date)
  user = session("user")

  'lista alla inlägg för aktuell månad

  set connect = server.createobject("adodb.connection")
  connect.open dsn

  sql = "select * from posts " & _
  " where month(postdate) = " & m &_
  " and year(date) = " & y & _
  " and poster = '" & user & "'"

  set rs = connect.execute(sql)
  while not rs.eof
     'visa data
     rs.movenext
  wend
  rs.close

  'ta alla månader som inte ingår 

  sql = "select distinct year(postDate),month(postDate) from posts " & _
  " where month(postdate) <> " & m & _
  " and year(postdate) <> " & y & _
  " and poster = '" & user & "'"

  set rs = connect.execute(sql)
  while not rs.eof
     response.write "<a href=show.asp?month='" & rs(0) & "'&year='" & rs(1) &"'>" & _
  monthname(rs(0)) & " " & rs(1) & "</a>"
     rs.movenext
  wend
  rs.close
  set rs = nothing 
  connect.close
  set connect = nothing
```

Du får kanske byta ut funktionerna month och year beroende på vilken databas du använder. (De finns i Access och SQL-server.)

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

## #3 — laidback, 2001-10-09T18:00Z

hm. nu är jag förvirrad igen. 

om jag inkluderar detta på en befintlig sida, där databasen (base.asp) redan är öppen behöver jag väl inte öppna den igen?
felmeddelandena haglar :(

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

## #4 — LarsG, 2001-10-09T18:15Z

Nej, någon ny öppning behövs ej. 

Då får vi väl beta av felen då. Du kan ju lägga upp relevanta delar av koden, en tabellbeskrivning och någon feltext.

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

## #5 — laidback, 2001-10-09T18:28Z

ok.
om jag börjar med att ta bort detta:

```
set connect = server.createobject("adodb.connection")
connect.open dsn
```

så får jag felet 
*Too few parameters. Expected 2.*
i stycket

```
set rs = connect.execute(sql)
while not rs.eof
'visa data
rs.movenext
wend
rs.close
```

tabellen heter k_messages och fälten ID, title, name, date och content. 
(name är namnet på den som skrev)

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

## #6 — LarsG, 2001-10-09T18:34Z

Okej, då är det något problem med sql-satsen. Felmeddelandet tyder på att det är Access och det brukar bero på att man anger något kolumnnamn som inte finns i tabellen. 

Kan du visa sql-satsen, dvs att du skriver ut den

```
response.write sql
```

Sen så är date ett reserverat ord så att om du anväder det i sql-satser så får du skriva

```
select [DATE] from k_messages
```

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

## #7 — laidback, 2001-10-09T19:02Z

hmm.. 
response.write sql ger
\[kod\]Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x424 Thread 0x98 DBC 0x102c024 Jet'kod\]

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

## #8 — LarsG, 2001-10-09T19:14Z

Det är alltså något problem vid open av connection-objektet, till exempel att sökvägen till databasen inte stämmer. 

Det verkar ju ha fungerat tidigare då du fick det andra felet (Too few parameters. Expected 2.)

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

## #9 — laidback, 2001-10-09T19:21Z

jo, precis. själva sidan, som fö visar medlemmens profil samt listar en del annat fungerade felfritt innan.
skumt?

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

## #10 — LarsG, 2001-10-09T19:34Z

Felet med volatile har ju varit uppe i flera inlägg här tidigare. Du kan ju göra en sökning och se om du hittar något relevant.

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

## #11 — laidback, 2001-10-09T19:36Z

okej. ska se om jag hittar nåt. tack iaf!

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

## #12 — laidback, 2001-10-09T19:44Z

okej, nu löste det sig (hrm.. :r)
men "too few parameters, expected 2" kvartstår.. 
det är den här raden som sägs vara trasig:
set rs = connect.execute(sql)

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

## #13 — @nders, 2001-10-09T19:48Z

Det felet brukar tyda på att man i sin SQL-fråga har x antal tabell- eller fältnamn som inte existerar eller är felstavade.

Hur ser den färdiga SQL-frågan ut?

Response.write sql *innan* du exekverar den.

Mvh,

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

## #14 — laidback, 2001-10-09T20:00Z

okej. fältnamnen korrigerade, sidan visas, men inte skymten av några inlägg... suspekt!

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

## #15 — @nders, 2001-10-09T20:01Z

Kan det vara så att SQL-frågan är felskriven så den inte ger något resultat?

Hur ser den ut?

Mvh,

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

## #16 — laidback, 2001-10-09T20:05Z

hmm.. det är larsG's ovanstående kod (inlägg 1) som jag försöker få ut nåt av.

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

## #17 — @nders, 2001-10-09T20:09Z

Skriv ut sql-frågan så vi får se den. Dels har du ju gjort ändringar i den och dels är det väl asp-värden som lagts till i den?

> Response.write sql innan du exekverar den.

Mvh,

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

## #18 — laidback, 2001-10-09T20:20Z

nu börjar det klarna lite mer.. 
det som verkar vara problemet är 

```
user = session("user")
```

den vars inlägg jag vill visa heter ju "name" i meddelande-tabellen.. hur anropar jag den?

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

## #19 — @nders, 2001-10-09T20:24Z

Då får du ha med villkoret **... name = '" & user & "'...** i din SQL-fråga.

Red: om jag förstod dig rätt vill säga. Det är inte helt klart...

Mvh,

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

## #20 — laidback, 2001-10-09T20:32Z

okej. 
men här är koden som den ser ut nu

```

m = request.querystring("month")
if m = "" then m = month(date)
y = request.querystring("year")
if y = "" then y = year(date)
user = session("user")
```

det är ovanstående "user = " som jag vill sätta till användaren vars sida man besöker

```

'lista alla inlägg för aktuell månad

response.write sql
sql = "select * from k_messages " & _
" where month(date) = " & m &_
" and year(date) = " & y & _
" and name = '" & user & "'"

set rs = connect.execute(sql)
while not rs.eof
'visa data
rs.movenext
wend
rs.close

'ta alla månader som inte ingår 
response.write sql
sql = "select distinct year(Date),month(Date) from k_messages " & _
" where month(date) <> " & m & _
" and year(date) <> " & y & _
" and name = '" & user & "'"
```

precis här finns ju name = '" & user & "'"

```
set rs = connect.execute(sql)
while not rs.eof
response.write "<a href=show.asp?month='" & rs(0) & "'&year='" & rs(1) &"'>" & _
monthname(rs(0)) & " " & rs(1) & "</a>"
rs.movenext
wend
rs.close
set rs = nothing
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12040-paging-enligt-månader  
Nästa sida: https://www.webforum.nu/amne/asp/12040-paging-enligt-månader/page2.md
