05. februar 2004 - 07:55Der er
6 kommentarer og 1 løsning
Do while - loop
Jeg har en løkke der kontrollere om en/flere ud af 8 faciliteter er optaget. Løkken virker nu således, at hvis første facilitet er optaget (facilitet A) udføres en response.redirct til "booket.asp" Jeg vil gerne have, at der først kontrolleres for alle faciliteter og derefter udføres en response.redirect til "booket.asp" der fortæller hvilken faciliteter er optaget og hvilken der er ledige.
Do while not rs.eof
start_dato = rs("dato")
Ny_Start_Dato = request.form("dato")
If DateDiff("d", Ny_Start_Dato, start_dato) <> 0 Then 'Ny dato slutter før de andre starter (ændrer til >= for at få overlap) overlap_dato = False
Else 'En af de nye datoer overlapper eller starter inden i perioden defineret af de andre variabler. Ændrer > til >= for at overlappe. overlap_dato = True End If
If DateDiff("h", Ny_Slut_kl, start_kl) > 0 Then 'Ny dato slutter før de andre starter (ændrer til >= for at få overlap) overlap_kl = False Else If DateDiff("h", slut_kl, Ny_Start_kl) > 0 Then 'Ny dato starter efter de andre slutter overlap_kl = False Else 'En af de nye datoer overlapper eller starter inden i perioden defineret af de andre variabler. Ændrer > til >= for at overlappe. overlap_kl = True
nu forstår jeg ikke helt hvad du mener, når du snakker om "faciliteter" ... i koden kan jeg kun se at du laver en masse checks på datoer. en dato er en dato i den virkelige verden... det er måske en "facilitet" i dit system, men du skal huske på at vi ikke kender dit system her inde ;-)
anyway ... selv om jeg ikke forstår helt hvad du søger, så kan du jo prøve at gøre følgende:
for hver iteration i din loop, kan du nemt gemme hvilke faciliteter der er optaget og ledige, i en streng der indeholder 0 og 1. en facilitet der er ledig, har værdien 0, og en facilitet der er optaget, har så værdien 1. Derefter redirecter du til din 'booked.asp' med denne streng som parameter. afslutningen på din loop vil se ud som noget ála dette:
If overlap_kl = True Then strFacilities = strFacilities & "1" Else strFacilities = strFacilities & "0" End if rs.movenext loop response.redirect "booket.asp?fac=" & strFacilities
din 'strFacilities' vil så indeholde 8 "bits" ... og kan se sådan ud:
00101011
hvilket betyder at facilitet 1, 2, 4 og 6 er ledige
er jeg helt galt på den, så må du til at forklare dig bedre ;o]
Du er ikke galt på den, men når jeg indsætter strFacilities = strFacilities & "1" eller noget lignende så kører løkken i ring indtil serveren kommer med en timeout.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.