Avatar billede akj Nybegynder
22. maj 2000 - 22:36 Der er 2 kommentarer og
1 løsning

If - Else - End if ....igen

Jeg har nu fået min rutine til at virke vedr. datosammenligning se evt. http://www.eksperten.dk/spm.asp?id=17425

Men nu skal jeg også have rutine til at arbejde med klokkeslæt.
Jeg har prøvet med følgende, men det virker ikke:

Private Sub Command1_Click()


Dim BooketStartDato, BooketSlutDato As Date
Dim NyStartDato, NySlutDato As Date
Dim BooketKlokkenStart, BooketKlokkenSlut, NyKlokkenSlut, NyKlokkenStart As Date

BooketStartDato = "01-05-00"
BooketSlutDato = "01-05-00"
BooketKlokkenStart = "08:00"
BooketKlokkenSlut = "09:00"


NyStartDato = "01-05-00"
NySlutDato = "01-05-00"
NyKlokkenStart = "06:00"
NyKlokkenSlut = "09:00"


BooketStartDato = DateValue(BooketStartDato)
BooketSlutDato = DateValue(BooketSlutDato)


NyStartDato = DateValue(NyStartDato)
NySlutDato = DateValue(NySlutDato)
NyKlokkenStart = DateValue(NyKlokkenStart)
NyKlokkenSlut = DateValue(NyKlokkenSlut)
BooketKlokkenStart = DateValue(BooketKlokkenStart)
BooketKlokkenSlut = DateValue(BooketKlokkenSlut)


If NyStartDato >= BooketStartDato Then
If NyStartDato >= BooketSlutDato Then
If NyKlokkenStart >= BooketKlokkenStart Then
If NyKlokkenSlut >= BooketKlokkenSlut Then


ok = True
Else
ok = False
End If
End If
End If


Else

If NySlutDato <= BooketSlutDato Then
If NyKlokkenSlut <= BooketKlokkenSlut Then


ok = True
Else
ok = False
End If
End If
End If



If ok = True Then
MsgBox ("ledigt")
Else
MsgBox ("optaget")
End If



End Sub

Resultatet bliver at "OK=True", men da lokalet er booket i perioden 1/5-00 kl. 08:00 til kl. 09:00 bør "OK=False" da den nye reservation løber i tidsrummet 06:00 09:00.
Hvad er der galt ????
Avatar billede privaten Nybegynder
23. maj 2000 - 16:49 #1
Udskift:

NyKlokkenStart = DateValue(NyKlokkenStart)
NyKlokkenSlut = DateValue(NyKlokkenSlut)
BooketKlokkenStart = DateValue(BooketKlokkenStart)
BooketKlokkenSlut = DateValue(BooketKlokkenSlut)

med:

NyKlokkenStart = TimeValue(NyKlokkenStart)
NyKlokkenSlut = TimeValue(NyKlokkenSlut)
BooketKlokkenStart = TimeValue(BooketKlokkenStart)
BooketKlokkenSlut = TimeValue(BooketKlokkenSlut)
Avatar billede privaten Nybegynder
23. maj 2000 - 16:51 #2
Det ville i øvrigt pynte (og gøre din kode meget mere læsbar) hvis du brugte indryk i dine if-then-else statements
Avatar billede philiph Nybegynder
23. maj 2000 - 21:00 #3
Som jeg sagde i den tidligere tråd (et svar du selv har accepteret):

Under udvikling, udskriv dine variable efter tilskrivning med debug.print, så du er sikker på hvad de indeholder.

Alternativt kan du sætte et breaktoint i koden, og lad musepilen hvile over hver af variablerne indtil der kommer et tooltip med indholdet.

Så ville du selv have fanget fejlen, og havde ikke behøvet at spørge os (og vente på svar).

Philip
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