---
title: "blir then även om det gått mer än 2 timmar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/40513-blir-then-även-om-det-gått-mer-än-2-timmar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ampy"
published: "2002-03-29T11:16:16.000Z"
updated: "2002-04-01T11:03:56.000Z"
replies: 17
views: 305
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/40513-blir-then-även-om-det-gått-mer-än-2-timmar"
---

# blir then även om det gått mer än 2 timmar

## #1 — ampy, 2002-03-29T11:16Z

```
                If datediff("h",date, cdate(krypinwhen)) < 2 Then 

                RecSet.Addnew
	
	RecSet("krypingastid") = session("id")
	RecSet("sort") = "krypin"
	RecSet("krypinagare") = ""&medlem&""
	RecSet("krypinwhen") = Now
	RecSet("krypingastnamn") = session("username")
	
	RecSet.Update	
	RecSet.Close

                End If
```

Det blir ändå Then fast att det har gått mer än två timmar. krypinwhen innehåller tex 2002-03-28 12:15.

Om jag skriver ut datediff("h",date, cdate(krypinwhen)) så får jag -896256 och då är krypinwhen = 2002-03-29 12:12:05 

Vet någon vad felet kan vara?

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

## #2 — LarsG, 2002-03-29T16:25Z

```
If datediff("h", cdate(krypinwhen),date()) < 2 Then
```

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

## #3 — ampy, 2002-03-29T19:26Z

Skrev fel i förra inlägget kom jag på, alltså det blir else fast att det har gått mer än två timmar, med din kod LarsG så blir det också else fast om det har gått mer än två timmar, varför?

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

## #4 — LarsG, 2002-03-29T19:39Z

Om du vill att villkoret skall vara sant om krypinwhen är mer än 2 timmar gammalt så får du vända på jämförelsen

```
If datediff("h", cdate(krypinwhen),date()) > 2 Then
```

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

## #5 — ampy, 2002-03-29T19:41Z

Men då blir det then även om det har gått MINDRE än två timmar, alltså det blir then hela tiden.

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

## #6 — LarsG, 2002-03-29T19:52Z

Nej, det tror jag inte på.

Har du rätt ordning på parametrarna till datediff? Date skall vara sist.

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

## #7 — ampy, 2002-03-29T19:56Z

> *Ursprungligen av LarsG*  
> **Har du rätt ordning på parametrarna till datediff? Date skall vara sist.**

Parametrar? Vart?

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

## #8 — LarsG, 2002-03-29T20:14Z

Vad är det som är oklart?

Hur ser dín kod ut nu?

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

## #9 — ampy, 2002-03-29T20:16Z

```
	If datediff("h", cdate(krypinwhen),date()) < 2 Then 

	RecSet.Addnew
	
	RecSet("krypingastid") = session("id")
	RecSet("sort") = "krypin"
	RecSet("krypinagare") = ""&medlem&""
	RecSet("krypinwhen") = Now
	RecSet("krypingastnamn") = session("username")
	
	
	RecSet.Update	
	RecSet.Close

                End If
```

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

## #10 — solbulle, 2002-03-29T22:54Z

Och krypinwhen innehåller verkligen ett "giltigt datum"?

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

## #11 — ampy, 2002-03-29T23:01Z

Den innehåller tex 2002-03-29 23:59

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

## #12 — solbulle, 2002-03-29T23:09Z

Kanske är bäst om du visar mer kod från sidan...

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

## #13 — ampy, 2002-03-29T23:11Z

SQL3 = "Select \* From statistik where krypinagare = '"&medlem & "' AND krypingastnamn = '"&session("username")&"' order by id desc"
	RecSet.Open SQL3, Connect, adOpenStatic, adLockOptimistic 

	If datediff("h", cdate(krypinwhen),date()) \< 2 Then 

	RecSet.Addnew
	
	RecSet("krypingastid") = session("id")
	RecSet("sort") = "krypin"
	RecSet("krypinagare") = ""&medlem&""
	RecSet("krypinwhen") = Now
	RecSet("krypingastnamn") = session("username")
	
	
	RecSet.Update	
	RecSet.Close

	Else
	
	Response.Write datediff("h",date, cdate(krypinwhen))

	End If

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

## #14 — solbulle, 2002-03-29T23:22Z

Inte för att jag kan speciellt mycket om datediff mm.
Men hur som helst tycker jag det verkar som att det som händer är att när du jämför tas BARA hänsyn till klockslaget, timmarna, så om det gått typ 25 timmar så verkar det bara vara en timme.

Kan den teorin stämma?

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

## #15 — ampy, 2002-03-31T18:44Z

Har gjort om koden lite:

```
	SQL3 = "Select * From statistik where krypinagare = '"&medlem & "' AND krypingastnamn = '"&session("username")&"' order by id desc"
	RecSet.Open SQL3, Connect, adOpenStatic, adLockOptimistic 

	If datediff("h", (krypinwhen),now()) > 2 Then 

	RecSet.Addnew
	
	RecSet("krypingastid") = session("id")
	RecSet("sort") = "krypin"
	RecSet("krypinagare") = ""&medlem&""
	RecSet("krypinwhen") = Now
	RecSet("krypingastnamn") = session("username")
	
	
	RecSet.Update	
	RecSet.Close

	Else
	
	Response.Write datediff("h", (krypinwhen),now()) 

	End If
```

Alltså det blir alltid then även om datediff är mindre 2 och om jag byter \> till \< så blir det alltid Else även om datediff är större än 2.

Om jag skriver ut Response.Write datediff("h", (krypinwhen),now()) så skriver den 896324 

vad är det för fel??

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

## #16 — ampy, 2002-04-01T08:15Z

Har löst problemet.

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

## #17 — solbulle, 2002-04-01T10:31Z

...och felet samt lösningen var?

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

## #18 — ampy, 2002-04-01T11:03Z

Att jag hade glömt att göra krypinwhen till en variabel innan if-satsen.

Alltså 

krypinwhen = RecSet("krypinwhen")

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/40513-blir-then-även-om-det-gått-mer-än-2-timmar
