Avatar billede pollo Nybegynder
22. juni 2009 - 19:54 Der er 1 kommentar og
1 løsning

Oprunding til nærmeste halve time..

Hej eksperten..
Jeg har i en tidligere tråd fået hjælp til et stykke kode som skulle beregne hvor mange timer der imellem to tidspunkter, og efterfølgende runde op til den næstkommende halve time. Den skal altid runde op, da der skal gives en pris pr. påbygndte halve time.. Koden jeg har fået ser ud som følgende:

Function timeDifRoundUp(d0tfirst, d0tlast, minutLeastUnit As Integer)
    timeDifRoundUp = d0tlast - d0tfirst
    If d0tfirst > d0tlast Then timeDifRoundUp = timeDifRoundUp + 1
    timeDifRoundUp = Int(24 * 60 * timeDifRoundUp)
    If timeDifRoundUp Mod minutLeastUnit > 0 Then
        timeDifRoundUp = (Int(timeDifRoundUp / minutLeastUnit) + 1) * minutLeastUnit: End If
    timeDifRoundUp = timeDifRoundUp / 60 / 24
End Function

og når jeg så i min forespørgelse skal hente værdierne så ser koden ud som følgende:

?cdate(timeDifRoundUp(cdate([LevAfg]),cdate([LevAnk]),30))

Hvis jeg så sætter [LevAfg] = 11:00 og [LevAnk] = 14:01, så får jeg ud at der er 03:00:00 timer imellem, og i dette tilfælde burde den skulle runde op til 03:30:00..
Hvis jeg i stedet sætter [LevAfg] = 11:00 og [LevAnk] = 14:02, så får jeg at der er 03:30:00 timer...

Det som så gør det hele meget mærkeligt, er at hvis jeg manuelt indsættere klokkeslettene i koden:
?cdate(timeDifRoundUp(cdate("11:00"),cdate("14:01"),30))
så får jeg at der er 03:30:00 timer..

Er der nogen som har en ide til hvad der kan forårsage dette mærkelige resultat?

P.S.
Den tidligere tråd hvor jeg fik koden kan ses på:
http://www.eksperten.dk/spm/875417#reply_7388562
Mvh.
Knud
Avatar billede mcb2001 Nybegynder
23. juni 2009 - 14:06 #1
kunne du ikke lave dine tider om til minutter.
Dividere med 30
Runde op
Gange med 30
Avatar billede pollo Nybegynder
24. juni 2009 - 08:51 #2
hej

jeg har valgt at bruge løsningen hvor den i helt specielle tilfælde giver en fejl på 1 minut. Lukker spørgsmålet
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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