webForumDet fria alternativet

Hämta rätt information

ASP

5 svar · 88 visningar · startad av Rossifumi

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

Jag vet inte ifall det är jag som är dum, eller ifall det är jag som är dum ;)

Har en access databas enl följande.

Har sedan en kalender där man kan klicka fram olika dagar, t.ex 2001-07-01. Då sammanställer min sida alla maskiner för just den dagen, alltså ifall dom är uthyrda eller inte.

Men mitt problem kommer nu när jag har 2st bokningar på samma maskin, dom är inte dubbelbokade utan efter varandra, hur skall jag få den att visa den aktuella bokningen?

Nu kör jag med följande:

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

Men den tar ju bara den första hela tiden. Den funkar alltså ifall jag håller mig inom de datum som den första bokningen är, men ifall jag går fram till nästa så säger den att maskinen är ledig.

Problemet är ju att jag också skall kunna gå tillbaka...

Mycket tacksam för hjälp :)

------------------
"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
#2

Ok, testade med följande:

mySQL2 = "SELECT * FROM maskinHyrTable WHERE hyrUtDatum => #" & sDate & "# AND hyrMaskinID = " & objRS("maskinID")
	Set objRS2 = objConn.Execute(mySQL2)

Men får då:

Feltyp:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'hyrUtDatum => #2001-06-08# AND hyrMaskinID = 1'.
/asp/showDay.asp, line 59

Någon som vet?

------------------
"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 dec. 200012 464 inlägg
#3

Du har väl vänt på => Skall vara >=

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 20001 558 inlägg
#4

OK har nu följande:

mySQL2 = "SELECT * FROM maskinHyrTable WHERE hyrUtDatum >= #" & sDate & "# AND hyrMaskinID = " & objRS("maskinID")
		Set objRS2 = objConn.Execute(mySQL2)

		If objRS.EOF Then
			sStatus = "green"
		Else
			If sDate => objRS2("hyrUtDatum") AND sDate <= objRS2("hyrInDatum") Then
				[b]sStatus = "red"[/b]
			Else
				sStatus = "green"
			End If
		End If

Men får då detta:

Feltyp:
(0x80020009)
Undantag inträffade. 
/asp/showDay.asp, line 65

Rad 65 är fet :)

------------------
"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 dec. 200012 464 inlägg
#5

Du har väl vänt på => Skall vara >=

I if-statementet alltså

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 20001 558 inlägg
#6

Löste det själv :)

mySQL2 = "SELECT * FROM maskinHyrTable WHERE hyrMaskinID = " & objRS("maskinID") & " AND hyrInDatum >= #" & sDate &"# ORDER BY hyrUtDatum ASC"
		Set objRS2 = objConn.Execute(mySQL2)

		If objRS2.EOF Then
			sStatus = "green"
		Else
			If sDate => objRS2("hyrUtDatum") AND sDate <= objRS2("hyrInDatum") Then
				sStatus = "red"
			Else
				sStatus = "green"
			End If
		End If

------------------
"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 08 jun 2001]

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)