---
title: "Kalenderfråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/90489-kalenderfråga"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "magnusfeldth"
published: "2003-11-15T17:21:11.000Z"
updated: "2003-11-17T07:55:01.000Z"
replies: 9
views: 368
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/90489-kalenderfråga"
---

# Kalenderfråga

## #1 — magnusfeldth, 2003-11-15T17:21Z

jag håller på att göra en kalender som skall vara uppbyggd på följande sätt:

\- Den kollar dagens datum och ser om någon post finns som skall gälla för dagens datum. Om så är fallet, skrivs denna ut - finns det flera skrivs flera ut.

Därefter kontrollerar den de närmaste 7 dagarna. Den kollar om något finns för respektive dag och skriver i så fall ut dem.

Så här ska det se ut ungefär:

8:e maj    (\<--- den biten är redan fixad)
Idag: Pajkastning.
Kom och kasta paj
(om det finns flera event denna dag listas de också på samma stil, rubrik + förklaring)
\------------------------------
11/12 \| - Potatisskalning
            \- Räkrensning
\-------------------------------
12/12 \| - Tvätta sockor
\-------------------------------
13/12 \| - Vaxa katten
\--------------------------------
14/12 \|                (\<------- finns ingen info skrivs bara datum ut)
\--------------------------------
15/12 \| - Räkna maskrosor på fotbollsplan
            \- Trimma häcken
\---------------------------------
16/12 \| - Borsta tänderna

Datum är från början i formen 2003-11-14 18:32:32 i databasen, hur gör de om till 14/11-form? Och hur ska jag skriva loop-satserna och if-satserna? BITTE HILFE!

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

## #2 — Sebbe, 2003-11-15T17:32Z

Hur menar du? Ska du bara ta ut idag + de sju följande dagarna?

**/red** Liten missuppfattning! Snart tillbaka med koden igen. ;)

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

## #3 — Sebbe, 2003-11-15T17:39Z

Här är koden igen då...

```
For dtm = Date() To DateAdd("d", dtmIdag, 7)
  If dtm = Date() Then
    Response.Write(Day(Date()) & " " & MonthName(Month(Date()))
  Else
    Response.Write(Day(dtm) & "/" & Month(dtm) & " | ")
  End If

  strSQL = "SELECT text, rubrik FROM tabell WHERE FormatDateTime(datum, 2) = #" & dtm & "#"
  Set objRS = objConn.Execute(strSQL)

  If NOT objRS.EOF Then
    If dtm = Date() Then
      Response.Write("<br>Idag:<br>")

      Do Until objRS.EOF
        Response.Write(objRS("rubrik") & "<br>" & objRS("text") & "<br>")
        objRS.MoveNext
      Loop
    Else
      Do Until objRS.EOF
        Response.Write("- " & objRS("rubrik") & "<br>")
        objRS.MoveNext
      Loop
    End If
  End If

  Response.Write("<br>")
  Set objRS = Nothing
Next
```

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

## #4 — magnusfeldth, 2003-11-15T18:15Z

Felmess:

```
Kompileringsfel i Microsoft VBScript (0x800A03EE)
')' förväntas.
/hhgspunktse/hhgs/index.asp, line 649, column 59
Response.Write(Day(Date()) & " " & MonthName(Month(Date()))
----------------------------------------------------------^
```

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

## #5 — @nders, 2003-11-15T18:17Z

Då är det bara att räkna lite parenteser.

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

## #6 — Engine^, 2003-11-15T18:24Z

Så lägg till en parantes...

```
Response.Write (Day(Date()) & " " & MonthName(Month(Date()))) [blue]' <---')' förväntas.[/blue]

[blue]'eller ta bort en parantes:[/blue]
Response.Write Day(Date()) & " " & MonthName(Month(Date()))
```

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

## #7 — magnusfeldth, 2003-11-16T18:56Z

Fortsättande fråga:

Jag använder följande SQL-sats för att få fram posterna för de närmaste 6 dagarna.

```
<%	

Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/hhgsdb.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
    Visa = "SELECT * FROM Kalender WHERE datediff('d',datum,date()) = 0"
   RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
```

Nu vill jag få ut formatet i den stilen som jag skrivit ovan, alltså att den skriver ut de närmaste dagarna i stilen
dag/månad (18/11)
Jag vill alltså att datorn loopar ut de närmaste sex dagarna, och där dagarna matchar innehållet i databasen skriver den ut dem enligt formatet:

18/11 - Event 1
          \- Event 2
\--------------------
19/11 - Event 3
\-------------------
20/11 - Event 4
\-------------------
21/11 
\-------------------
22/11 - Event 5

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

## #8 — Sebbe, 2003-11-16T21:11Z

Och nu skriver den ut hur? :o

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

## #9 — magnusfeldth, 2003-11-16T22:24Z

så här skriver jag nu:

```
  <%	

Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/hhgsdb.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM Kalender WHERE datum>=dateadd('d',1,date()) and datum < dateadd('d',7,date()) order by datum"
Set RecSet=Connect.Execute(strSQL)
    %>
    
    <% 
    
    For lngDay=1 to 6
    datDate=DateAdd("d",lngDay,Date())
    datNext=DateAdd("d",lngDay+1,Date())%>
    <%= RecSet("Datum") %><br>
    <% Do
        If RecSet.EOF Then Exit Do
        If RecSet("datum")>=dateNext Then Exit Do %>
        <%=RecSet("Rubrik")%><br>
        <% RecSet.MoveNext
    Loop
Next

%>

<% Recset.Close
Connect.Close

Set Recset = Nothing
Set Connect = Nothing
%>
```

men nu bara den loopar samma event... vad är felet?

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

## #10 — Sebbe, 2003-11-17T07:55Z

Gjorde om min kod lite, och som den är nu funkar den i alla fall när jag testade den. :)

```
For dtm = Date() To DateAdd("d", Date(), 6)
  If dtm = Date() Then
    Response.Write(Day(Date()) & " " & MonthName(Month(Date())))
  Else
    Response.Write(Day(dtm) & "/" & Month(dtm) & " | ")
  End If

  strSQL = "SELECT [text], rubrik FROM tabell WHERE CDate(Year(datum) & ""-"" & Month(datum) & ""-"" & Day(datum)) = #" & dtm & "#"
  Set objRS = objConn.Execute(strSQL)

  If NOT objRS.EOF Then
    If dtm = Date() Then
      Response.Write("<br>Idag:<br>")

      Do Until objRS.EOF
        Response.Write(objRS("rubrik") & "<br>" & objRS("text") & "<br>")
        objRS.MoveNext
      Loop
    Else
      Do Until objRS.EOF
        Response.Write("- " & objRS("rubrik"))
        objRS.MoveNext
      Loop
    End If
  End If

  Response.Write("<br>")
  Set objRS = Nothing
Next
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/90489-kalenderfråga
