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
Ifall ni kollar på denna sidan (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?
------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda
[Redigerat av Rossifumi den 11 jun 2001]

