---
title: "Mkt knepig if-sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10001-mkt-knepig-if-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Rossifumi"
published: "2001-06-11T16:20:00.000Z"
updated: "2001-06-12T07:19:00.000Z"
replies: 9
views: 243
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/10001-mkt-knepig-if-sats"
---

# Mkt knepig if-sats

## #1 — Rossifumi, 2001-06-11T16:20Z

Ifall ni kollar på [denna sidan](http://www.capreolusfoto.n.se/2gravare) (klicka på lägg till maskin) så ser ni vad det är som skall göras.

Min If-sats ser ut så här idag:

```
bolIsOk = true

	sMaskin = Request.Form("maskinID")
	sStartDatum = Request.Form("hyrUtDatum1") & "-" & Request.Form("hyrUtDatum2") & "-" & Request.Form("hyrUtDatum3")
	sStartDatum = CDate(sStartDatum)
	sSlutDatum = Request.Form("hyrInDatum1") & "-" & Request.Form("hyrInDatum2") & "-" & Request.Form("hyrInDatum3")
	sSlutDatum = CDate(sSlutDatum)
	sPerson = Request.Form("hyrPerson")
	sForetag = Request.Form("hyrForetag")
	
	mySQL = "SELECT * FROM maskinHyrTable WHERE hyrMaskinID = " & sMaskin & " ORDER BY hyrUtDatum ASC"
	Set objRS = objConn.Execute(mySQL)
		Do While Not objRS.EOF
			[b]If (sStartDatum => objRS("hyrUtDatum") AND sStartDatum =< objRS("hyrInDatum")) OR (sSlutDatum => objRS("hyrUtDatum") AND sSlutDatum =< objRS("hyrInDatum")) Then bolIsOk = false[/b]
		objRS.MoveNext
		Loop

	If bolIsOk = true Then
		mySQL = "INSERT INTO maskinHyrTable (hyrMaskinID, hyrUtDatum, hyrInDatum, hyrFakturaStart, hyrFakturaSlut, hyrPerson, hyrForetag) VALUES(" & sMaskin & ", #" & sStartDatum & "#, #" & sSlutDatum & "#, #" & sStartDatum & "#, #" & sStartDatum & "#, '" & sPerson & "', '" & sForetag & "')"
		objConn.Execute(mySQL)
	Else
		Response.Write "<table width=""100%"" height=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0""><tr align=""center"" valign=""middle""><td class=""text""><a href=""javascript:history.back(-1)"" class=""blue"">Ditt val krockar med ett befintligt</a></td></tr></table>"
	End If
```

Men den funkar bara delvis.

Ifall jag t.ex vill lägga till en bokning som sträcker sig över en redan utförd bokning, alltså inte börjar/slutar i en, så går det alldeles utmärkt vilket inte är så bra.

Finns det ingen som vet hur man kan lösa detta?

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

## #2 — emission, 2001-06-11T20:53Z

```
mySQL = "SELECT 1 FROM maskinHyrTable WHERE hyrMaskinID = " & sMaskin & " AND ((hyrInDatum BETWEEN #" & sStartDatum & "# AND #" & sSlutDatum & "#) OR (hyrInDatum > #" & sSlutDatum & "# AND hyrUtDatum < #" & sSlutDatum & "#))"

Set objRS = objConn.Execute(mySQL)

If objRS.EOF Then
mySQL = "INSERT INTO maskinHyrTable (hyrMaskinID, hyrUtDatum, hyrInDatum, hyrFakturaStart, hyrFakturaSlut, hyrPerson, hyrForetag) VALUES(" & sMaskin & ", #" & sStartDatum & "#, #" & sSlutDatum & "#, #" & sStartDatum & "#, #" & sStartDatum & "#, '" & sPerson & "', '" & sForetag & "')"
objConn.Execute(mySQL)
Else
Response.Write "<table width=""100%"" height=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0""><tr align=""center"" valign=""middle""><td class=""text""><a href=""javascript:history.back(-1)"" class=""blue"">Ditt val krockar med ett befintligt</a></td></tr></table>"
End If
```

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

## #3 — cyprys, 2001-06-11T20:54Z

Kan vara jag som inte vet allt för mycket men borde man inte ha en end if i alla fall?

```
Do While Not objRS.EOF
If (sStartDatum => objRS("hyrUtDatum") AND sStartDatum =< objRS("hyrInDatum")) OR (sSlutDatum => objRS("hyrUtDatum") AND sSlutDatum =< objRS("hyrInDatum")) Then 
bolIsOk = false
Exit Loop
end if
objRS.MoveNext
Loop
```

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

## #4 — Rossifumi, 2001-06-12T05:13Z

emission: Funkar perfekt, jag och @nders kom fram till en IF-sats som funkar men din lösning kanske är lite behändigare :)

```
If (sStartDatum <= objRS("hyrUtDatum") AND sSlutDatum >= objRS("hyrInDatum")) OR (sStartDatum => objRS("hyrUtDatum") AND sStartDatum =< objRS("hyrInDatum")) OR (sSlutDatum => objRS("hyrUtDatum") AND sSlutDatum =< objRS("hyrInDatum")) Then bolIsOk = false
```

Cyprus: Nej, det behövs inte. Fråga @nders varför ;) :e

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

## #5 — Rossifumi, 2001-06-12T05:14Z

Tack **emission** & **@nders** :)

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

## #6 — @nders, 2001-06-12T05:48Z

emission: ja jävlar! bra där!

rossifumi: vassego!

cyprys: om man har skrivit som du gjort i ditt inlägg dvs med en radbrytning efter then så måste du ha end if. står hela if-satsen på samma rad ska du inte ha det.

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

## #7 — brw, 2001-06-12T06:59Z

Inte för att det har så mycket till inlägget att göra men jag undrar om någon kan tala om vad det är för typsnitt som används typ där det står "All kopiering förbjuden" på länken som rossi skickade med?

/brw

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

## #8 — Rossifumi, 2001-06-12T07:14Z

**Pixelette** :)

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

## #9 — Rossifumi, 2001-06-12T07:15Z

Ge mig din e-post så skickar jag det :)

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

## #10 — brw, 2001-06-12T07:19Z

brajnwave@hotmail.com

Tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10001-mkt-knepig-if-sats
