---
title: "Problem med funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/75587-problem-med-funktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "andreas_lindh"
published: "2003-05-01T12:09:40.000Z"
updated: "2003-05-01T12:43:42.000Z"
replies: 3
views: 216
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/75587-problem-med-funktion"
---

# Problem med funktion

## #1 — andreas_lindh, 2003-05-01T12:09Z

Jag har en kalender där jag har de här funktionerna för att skapa länkar till nästa och föregående månad

```
Function prevmonth(Byval x, Byref y)
	If x = 1 Then
         y = y - 1
         x = 12
         link = "default.asp?m=" & x & "&y=" & y
    Else
         y = y
         x = x - 1
        link = "default.asp?m=" & x & "&y=" & y
    End If
	prevmonth = link
end function
Function nextmonth(Byval a, Byref b)
	If a = 12 Then
         b = b + 1
         a = 1
         link = "default.asp?m=" & a & "&y=" & b
    Else
         b = b
         a = a + 1
        link = "default.asp?m=" & a & "&y=" & b
    End If
	nextmonth = link
end function
```

Jag använder den så här

```
<% = nextmonth(m,y) %>
```

m och y får jag fram så här

```
if request.querystring("m") = "" then
y = datepart("yyyy",date())
m = datepart("m",date())
else
y = request.querystring("y")
m = request.querystring("m")
end if
```

Funktionen för föregående månad fungerar. Funktionen för nästa månad fungerar också bra förutom i januari.
Länken i december år 2003 ser ut så här

```
[url]http://localhost/jkalender/default.asp?m=1&y=2004[/url]
```

Men sen när jag är i januari 2004 ser länken ut så här

```
[url]http://localhost/jkalender/default.asp?m=2&y=2003[/url]
```

Någon som ser vad som är fel?

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

## #2 — @nders, 2003-05-01T12:11Z

Använd DateAdd() istället för att lägga till manuellt. Med de datumfunktioner som finns inbyggda i VBScript vet du att du alltid hanterar giltiga datum.

Mvh

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

## #3 — andreas_lindh, 2003-05-01T12:23Z

Men jag har aldrig några hela datum utan bara nummret på månaden och året
sen hämtar jag händelser ut kalendern så här

```
sql="select distinct datum from kalender where month(datum) = " & m &" and year(datum) =" & y &" and vem='p' order by datum"
set rsp = oconn.execute(sql)
```

och funktionen prevmont fungerar som den ska
länken till föregående månad i januari blir

```
[url]http://localhost/jkalender/default.asp?m=12&y=2002[/url]
```

och
länken i december blir då rätt

```
[url]http://localhost/jkalender/default.asp?m=11&y=2002[/url]
```

Så jag förstår inte varför inte nextmonth fungerar

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

## #4 — Gladh, 2003-05-01T12:43Z

Du kan fortfarande använda dig av DateAdd() även om du bara har år och månad.

dDate = myYear & "-" & myMonth & "-01"

nextMonth = DateAdd("m",1,dDate)
prevMonth = DateAdd("m",-1,dDate)

\- magnus

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/75587-problem-med-funktion
