Avatar billede kraghjensen Nybegynder
28. februar 2002 - 21:09 Der er 3 kommentarer og
1 løsning

Datediff

Hvilken funktion har "0" efter ">" i hver If sætning ?

If DateDiff("h", Ny_Slut_kl, start_kl) > 0 Then
        overlap_kl = False
    Else
If DateDiff("h", slut_kl, Ny_Start_kl) > 0 Then
        overlap_kl = False
    Else
        overlap_kl = True
           
End If
End If
Avatar billede tipsen Nybegynder
28. februar 2002 - 22:27 #1
Den første if-sætning spørger om antallet af timer fra ny_slut_kl til start_kl er større end 0 - dvs. basalt set om tidspunktet start_kl ligger efter ny_slut_kl! Så kan du nok regne ud, hvad den anden if laver ;-)
Avatar billede tipsen Nybegynder
28. februar 2002 - 22:29 #2
Rettelse - den spørger om start_kl ligger mindst en time efter ny_slut_kl, da datediff eks. runder 59 min. ned til 0 timer!
Avatar billede kraghjensen Nybegynder
28. februar 2002 - 22:50 #3
Nu forstår jeg betydning helt, men kan du så fortælle mig hvad der er galt her.

Denne rutine skulle gerne kontrollere om 2 dato'er og 2 klokkeslæt har overlap.

F.eks hvis
start_dato = "25-02-02" og
start_kl  = "1500"

slut_dato  = "26-02-02" og
Slut_kl    = "2300"


Ny_Start_dato = "26-02-02" og
Ny_Start_kl  = "0800"

Ny_slut_dato  = "26-02-02" og
Ny_Start_kl  = "0900"

skal variablen overlab_kl gerne blive = True
MEN den bliver = False

Kan du sige hvorfor ?



Do while not rs.eof

    start_dato = rs("datofra")
    slut_dato = rs("datotil")

    Ny_Start_Dato = request.form("fradato")   
    Ny_Slut_Dato = request.form("tildato") 
   

    If DateDiff("d", Ny_Slut_Dato, start_dato) > 0 Then
        overlap_dato = False
    Else
        If DateDiff("d", slut_dato, Ny_Start_Dato) > 0 Then
           
        Else
           
            overlap_dato = True
        End If
    End If
    If overlap_dato = False Then

    Else
   
   
   
   
      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
        overlap_kl = False
    Else
        If DateDiff("h", slut_kl, Ny_Start_kl) > 0 Then
            Else
            overlap_kl = True
           
        End If
    End If
 
 
End If




  If overlap_kl = True Then
 
 
  response.redirect "booket.htm"
 
  Else
 

 
  rs.movenext
 
 
 
  End if
 
loop

response.redirect "ledig.htm"
Avatar billede tipsen Nybegynder
01. marts 2002 - 00:58 #4
Er du stensikker på, at de forskellige variable rent faktisk bliver behandlet som tidspunkter af vb? Prøv at udskrive resultatet af dine DateDiff(.,.,.) sætninger for at se om de giver de resultater du regner med!
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