webForumDet fria alternativet

Sätta en flagga el. likn.

ASP

12 svar · 455 visningar · startad av Rossifumi

Medlem sedan okt. 20001 558 inlägg
Frågan#1

Jag har fått lite hjälp med en kod här av LarsG, men behöver lite hjälp till ;)

mySQL = "SELECT * FROM maskinHyrTable WHERE hyrMaskinID = " & sMaskin & " ORDER BY hyrUtDatum ASC"
	Set objRS = objConn.Execute(mySQL)

		Do While Not objRS.EOF
			if not (datediff("d",sStartDatum,cdate(objRs("hyrInDatum"))) < 0 or datediff("d",sSlutDatum,cdate(objRs("hyrUtDatum"))) > 0) then
				'sätt OK
else
'sätt NOT			End If
		objRS.MoveNext
		Loop

Och sedan ifall det är typ 10 poster så skall jag kunna kolla ifall ingen blev NOT

If ingen är NOT Then
'lägg till i DB
else
'skriv ut det funkar ej
end if

Fattar någon vad jag är ute efter :q

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan juni 200032 967 inlägg
#2
bolIsOk = true
mySQL = "SELECT * FROM maskinHyrTable WHERE hyrMaskinID = " & sMaskin & " ORDER BY hyrUtDatum ASC"
Set objRS = objConn.Execute(mySQL)
Do While Not objRS.EOF
if (datediff("d",sStartDatum,cdate(objRs("hyrInDatum"))) < 0 or datediff("d",sSlutDatum,cdate(objRs("hyrUtDatum"))) > 0) then bolIsOk = false
objRS.MoveNext
Loop
if bolIsOk then
'helt funkis!
else
'trasigt!!!
end if

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan okt. 20001 558 inlägg
#3

OK, den funkar delvis...

Men ifall jag har 10 st bokningar på en speciell maskin och de 9 första krockar med den "nya" men den sista "går igenom" så får jag fortfarande att det är OK att boka maskinen :(

Jag måste alltså kolla så att den inte krockar med flera bokningar.

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan juni 200032 967 inlägg
#4

du ska aldrig sätta bolIsOk till true, förutom som initialvärde.

fungerar inte min kod?
kan inte se hur bolIsOk kan vara true om den någon gång är satt till false...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan okt. 20001 558 inlägg
#5

OK, så här är koden nu:

Dim sMaskin, sPerson, sForetag, sStartDatum, sSlutDatum, sCheck, bolIsOk

	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
		if (datediff("d",sStartDatum,cdate(objRs("hyrInDatum"))) < 0 or datediff("d",sSlutDatum,cdate(objRs("hyrUtDatum"))) > 0) then bolIsOk = false
		objRS.MoveNext
		Loop

	if bolIsOk = true then
	Response.Write "OK"
	else
	Response.Write "Dubbelbokning"
	end if

end if

Det måste isåfall vara något fel på IF-satsen :q

r: Fel kopierat :(

------------------
"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]

Medlem sedan okt. 20001 558 inlägg
#6

Vad jag än för så blir det "Dubbelbokning" :(

------------------
"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]

Medlem sedan okt. 20001 558 inlägg
#7

OK, här är hela koden för sidan:

<% Option Explicit %>
<!-- #include virtual = "/includes/db_open.asp" -->

<html>
<head>
	<title>TVÅ GRÄVARE AB &#0124; Managementsystem</title>
	
	<style>
	<!--

	.datum {font-family: arial, verdana; font-size: 9px; color: #cf2428;}
	.text {font-family: verdana; font-size: 9px; color: #000000;}
	.textTime {font-family: verdana; font-size: 9px; color: #000000; font-style: italic;}
	.red {font-family: verdana; font-size: 9px; color: #cf2428; font-weight: bold;}
	.gray {font-family: verdana; font-size: 9px; color: #666666; font-weight : bold;}
	.black {font-family: verdana; font-size: 9px; color: #000000; font-weight : bold;}
	.white {font-family: verdana; font-size: 9px; color: #ffffff; font-weight : bold;}
	a.blue {font-family: verdana; font-size: 9px; color: #183873; font-weight : bold;}

	-->
	</style>

</head>

<body background="../images/bg_pop.gif" bgcolor="#efefef" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<%

If Request.QueryString("addBook") = "" Then

Dim sMaskinerUrDb

sMaskinerUrDb = "<select name=""maskinID"" style=""width: 150px"" class=""text""><option selected>- Välj en maskin-"

mySQL = "SELECT * FROM maskinTable ORDER by maskinModell ASC"
Set objRS = objConn.Execute(mySQL)

Do While Not objRS.EOF

	sMaskinerUrDb = sMaskinerUrDb & "<option value=""" & objRS("maskinID") & """>" & objRS("maskinModell") & " (" & objRS("maskinNummer") & ")"

objRS.MoveNext
Loop

objRS.Close
Set objRS = Nothing
Set mySQL = Nothing
%>
	<table width="280" border="0" cellspacing="0" cellpadding="0" align="center">
	<tr>
		<td height="45" colspan="2"><img src="../images/1px.gif" width="1" height="45"></td>
	</tr>
	<tr>
		<td class="black" colspan="2">Boka en maskin</td>
	</tr>
	<tr>
		<td height="10" colspan="2"><img src="../images/1px.gif" width="1" height="10"></td>
	</tr>
	<form method="post" action="bookMachine.asp?addBook=yes">
	<tr>
		<td class="black" width="100">Vilken maskin:</td><td class="text" align="left" width="220"><% = sMaskinerUrDb %></td>
	</tr>
	<tr>
		<td height="10" colspan="2"><img src="../images/1px.gif" width="1" height="10"></td>
	</tr>
	<tr>
		<td class="black" width="100">Till vem:</td><td class="text" align="left" width="220"><input type="text" name="hyrPerson" style="width: 150px" class="text"></td>
	</tr>
	<tr>
		<td height="10" colspan="2"><img src="../images/1px.gif" width="1" height="10"></td>
	</tr>
	<tr>
		<td class="black" width="100">På företaget:</td><td class="text" align="left" width="220"><input type="text" name="hyrForetag" style="width: 150px" class="text"></td>
	</tr>
	<tr>
		<td height="10" colspan="2"><img src="../images/1px.gif" width="1" height="10"></td>
	</tr>
	<tr>
		<td class="black" width="100">Från vilket datum:</td><td class="text" align="left" width="220"><input type="text" class="text" style="width: 40px;" maxlength="4" name="hyrUtDatum1"> - <input type="text" class="text" style="width: 25px;" maxlength="2" name="hyrUtDatum2"> - <input type="text" class="text" style="width: 25px;" maxlength="2" name="hyrUtDatum3"> (xxxx-xx-xx)</td>
	</tr>
	<tr>
		<td height="10" colspan="2"><img src="../images/1px.gif" width="1" height="10"></td>
	</tr>
	<tr>
		<td class="black" width="100">Prel. slutdatum</td><td class="text" align="left" width="220"><input type="text" class="text" style="width: 40px;" maxlength="4" name="hyrInDatum1"> - <input type="text" class="text" style="width: 25px;" maxlength="2" name="hyrInDatum2"> - <input type="text" class="text" style="width: 25px;" maxlength="2" name="hyrInDatum3"> (xxxx-xx-xx)</td>
	</tr>
	<tr>
		<td height="10" colspan="2"><img src="../images/1px.gif" width="1" height="10"></td>
	</tr>
	<tr>
		<td width="100"></td><td class="text" align="left" width="220">Glöm ej slutdatumet!</td>
	</tr>
	<tr>
		<td height="10" colspan="2"><img src="../images/1px.gif" width="1" height="10"></td>
	</tr>
	<tr>
		<td width="100" class="black">Läs igenom innan!</td><td><input type="submit" value="Boka" class="text"> <input type="reset" value="Rensa" class="text"></td>
	</tr>
	</form>
	</table>
<%
ElseIf Request.QueryString("addBook") = "yes" Then

Dim sMaskin, sPerson, sForetag, sStartDatum, sSlutDatum, sCheck, bolIsOk

	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
		if (datediff("d",sStartDatum,cdate(objRs("hyrInDatum"))) < 0 or datediff("d",sSlutDatum,cdate(objRs("hyrUtDatum"))) > 0) then bolIsOk = false
		objRS.MoveNext
		Loop

	if bolIsOk = true then
	Response.Write "<br><br><br><br><br>OK"
	else
	Response.Write "<br><br><br><br><br>Dubbelbokning"
	end if

end if

%>
</body>
</html>

Kolla in den på live här, klicka på boka maskin till vänster.

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan juni 200032 967 inlägg
#8

if (datediff("d",sStartDatum,cdate(objRs("hyrInDatum"))) < 0 or datediff("d",sSlutDatum,cdate(objRs("hyrUtDatum"))) > 0) then bolIsOk = false

stämmer den if-satsen?

borde inte kontrollen vara beroende på både hyrindatum och hyrutdatum?

kontrollera den if-satsen...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan okt. 20001 558 inlägg
#9

Ligger något i det du säger @nders ;)
Skall fixa det, återkommer ifall det krånglar mer :)

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan okt. 20001 558 inlägg
#10

Jag får det bara inte att funka x(

Nu har jag:

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

Men det är fel, men jag fattar inte hur jag skall skriva för att få det riktigt :q

Någon, snälla ;)

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan juni 200032 967 inlägg
#11

skriv if-satsen med rena ord först, så blir det lättare att fixa en fungerande if-sats.

nu är jag för trött för att orka tänka hur du vill att den ska fungera, men jag tycker att if-satsen ser konstig ut! :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan okt. 20001 558 inlägg
#12

Det ser jättekonstig ut, det är typ revision 234 :e
Jag har också snart slut på papper ;)

Jag testar vidare, men ifall någon vet så tveka inte :)

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan okt. 20001 558 inlägg
#13

OK, den första satsen (som kolla startdatumet) skall nog vara så här iallafall:

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

Men den andra klarar jag inte riktigt av :(

Finns det ingen annan än @nders som är lite mer logisk än mig ;) :e :q

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

279 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
149 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)