Avatar billede xdont Nybegynder
05. februar 2004 - 07:55 Der 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 overlap_dato = False Then

    Else
   
   
    'Datoen er optaget, derfor kontrol på klokken
   
      start_kl = rs("klokkenfra")
    slut_kl = rs("klokkentil")


    Ny_Start_kl = request.form("fraklokken") 
    Ny_Slut_kl = request.form("tilklokken")
   
   

    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
           
        End If
    End If
 
 
End If




  If overlap_kl = True Then

response.redirect "booket.asp"
 
  Else
 

 
  rs.movenext
 
 
  End if
  End if
     
loop
Avatar billede nute Nybegynder
05. februar 2004 - 09:45 #1
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]

/nute
Avatar billede xdont Nybegynder
05. februar 2004 - 13:22 #2
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.
Avatar billede nute Nybegynder
05. februar 2004 - 13:32 #3
du skal have 'rs.movenext' helt til sidst ... som den sidste statement i din loop.

strFacilities = strFacilities & "1"

giver ingen grund til at serveren skal give en timeout
Avatar billede xdont Nybegynder
05. februar 2004 - 15:05 #4
Med hensyn til timeout så virker det nu - tak for hjælpen
Avatar billede nute Nybegynder
06. februar 2004 - 11:10 #5
fino ... så smider jeg uopfordret svar :o]

hvad var galt ? manglede du rs.movenext ?
Avatar billede xdont Nybegynder
06. februar 2004 - 14:18 #6
næ, jeg havde end if efter rs.movenext
Avatar billede nute Nybegynder
06. februar 2004 - 16:28 #7
ah ... "svar"
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester