---
title: "datum, öka månad"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/114767-datum-öka-månad"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "greggan"
published: "2004-10-31T20:14:01.000Z"
updated: "2004-10-31T23:34:44.000Z"
replies: 7
views: 342
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/dotnet/114767-datum-öka-månad"
---

# datum, öka månad

## #1 — greggan, 2004-10-31T20:14Z

Vet inte riktigt vad jag ska söka på, men jag har sökt runt och inte hittat vad jag vill ha.

Jag har en kolumn i en databas, om datumet i den kolumnen har gått ut så kan man inte se vissa sidor. Om man nu vill förnya det här datumet så ska man kunna göra det även om datumet inte har gått ut, eller också om det har gått ut. Man ska också kunna göra det om man aldrig gjort det förut, dvs om kolumnen är tom.

det ser ut såhär.

```
Dim cn as new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=E:\Inetpub\databaser\tihi.mdb;")
dim cmd as new oledbcommand("Select viptom from users where userid=" & session("userid") & "",cn)
dim cmd2 as new oledbcommand("UPDATE users SET(viptom) VALUES[b]('" & datetime.now.month + 1 & "')[/b] where userid=" & session("userid") & "",cn)
dim cmd3 as new oledbcommand("UPDATE users SET(viptom) VALUES[b]('" & "viptom".month + 1 & "')[/b] where userid=" & session("userid") & "",cn)
dim dr as oledbdatareader
cn.open()
dr = cmd.ExecuteReader()
dr.read()
if dr("viptom").tostring = "" Then
cmd2.executenonquery()
elseif datediff("n" dr("viptom"), now()) > "0" Then
cmd2.executenonquery()
else
cmd3.executenonquery()
end if
dr.close
cn.close
```

jag vet dock inte riktigt hur jag ska göra när det gäller vilket datum som ska in i fältet.

Om fältet var tomt innan så ska dagens datum + 1 månad in.
Om fältet hade ett gammalt datum minst en minut äldre än datumet just nu så ska datumet som ska in vara dagens datum + 1 månad.
Om datumet är något datum längre fram i tiden så ska datumet var det datumet plus en månad.

Vet inte riktigt hur jag ska skriva.

Jag har lyckats gallra ut dessa olika i min IF-sats, dock vet jag inte riktigt hur jag ska skriva så att jag lägger till en månad.

Dessutom vore det bra att det inte blir typ 31:a februari bara för att man la till en månad den 31:a Januari. Vore bättre om det då blev typ 3:e mars.

Hjälp mig!! Hur skajag göra?? :q

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

## #2 — Pace, 2004-10-31T21:05Z

```
datumobjektet.AddMonth(1)
```

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

## #3 — greggan, 2004-10-31T21:44Z

'AddMonth' is not a member of 'Date'.

```
dim datum as string = now().AddMonth(1)
```

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

## #4 — icaaq, 2004-10-31T22:09Z

```
[red]
dim datum as string = DateAdd(DateInterval.Month, 1, Now())
[/red]
```

mv icaaq

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

## #5 — Pace, 2004-10-31T22:15Z

> **greggan skrev:**
>
> 'AddMonth' is not a member of 'Date'.
> 
>
>
> ```
> dim datum as string = now().AddMonth(1)
> ```

My bad, AddMonth**s** ska det vara. Läs gärna [manualen](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDateTimeClassTopic.asp) också.

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

## #6 — greggan, 2004-10-31T22:49Z

jo det blev bättre så.. men nu blir det något annat fel, vet inte om det har med datumdelen att göra eller om det är något annat...

Syntax error in UPDATE statement.

```
dim cmd3 as new oledbcommand("UPDATE users SET(viptom) VALUES(" & datum2 & ") where userid=" & session("userid") & "",cn)
```

och datum2 ser ut såhär:

```
dim datum2 as string = dr3("viptom").addmonths(1)
```

det den läser ut ifrån viptom är ett datum och sen kör den då addmonths(1) på det datumet. det borde ju stämma.. eller?

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

## #7 — icaaq, 2004-10-31T23:11Z

Du har blandat ihop INSERT med UPDATE...
en update ser ut som följer

```
[red]
dim cmd3 as new oledbcommand("UPDATE users SET viptom = '" & datum2 & "' where userid=" & session("userid") ,cn)[/red]
```

mv icaaq

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

## #8 — greggan, 2004-10-31T23:34Z

oj oj oj... jag har verkligen kodat för mycket idag.. lite klantigt av mig... :/
tack så mycket båda två! =D

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/114767-datum-öka-månad
