Avatar billede fdy Nybegynder
23. juni 2004 - 03:21 Der er 4 kommentarer og
1 løsning

Problem med DateDiff

Har problem med DateDiff i forbindelse med beregning af dage:timer:minutter - hvor regnestykket bliver forkert. Der mangler konsekvent een dag - ved store datoforskelle går det helt galt.
Drift = Format((DateDiff("s", date1:=Me.GenSynkron, date2:=Me.GenAsynkron) / 60 / 60 / 24), "dd:hh:mm")

Hvad er der galt
Avatar billede mugs Novice
23. juni 2004 - 05:58 #1
Hvis du vil have antal sekunder mellem 2 datoer kan det se således ud:

drift = DateDiff("s", Me.GenSynkron, Me.GenASynkron)

Formatet "dd:hh:mm" betyder dage:timer:måneder

Sakset fra VBA-hjælpen:

yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second
23. juni 2004 - 09:30 #2
Problemet er, at datediff returnerer et TAL og ikke en dato. Du kan derfor ikke bare formatterer tallet som du ville formattere en dato.
Det tal, som kommer ud af DateDiff("s", date1:=Me.GenSynkron, date2:=Me.GenAsynkron)/60/60/24 skal oversættes til dage, timer og mintter.

Heltalsdelen er svarer til dage, mens decimal-delen skal konverteres til timer og minutter.

prøver lige at lave et eks
23. juni 2004 - 09:46 #3
Prøv at smide denne funktion i et modul og så kalde BeregnDatoForskel(dato1, Dato2):

Public Function BeregnDatoForskel(Tid1 As Date, Tid2 As Date) As String
    Dim Sek As Single
    Dim Min As Single
    Dim Tim As Single
    Dim Dage As Single
    Dage = DateDiff("s", Tid1, Tid2) / 60 / 60 / 24
    Tim = (Dage - Int(Dage)) * 24
    Min = (Tim - Int(Tim)) * 60
    BeregnDatoForskel = Int(Dage) & ":" & Int(Tim) & ":" & Int(Min)
End Function
23. juni 2004 - 09:46 #4
Slet bare Dim Sek as Single
Avatar billede fdy Nybegynder
24. juni 2004 - 01:24 #5
Har prøvet den funktion du foreslår hvor DatoForskel kommer som en streng. Jeg vi imidlertid gerne regne videre på DatoForskel feks. addere ugevis, månedsvis og årsvis - dette må så gøres i forespørgsel inden inden omregning til streng.
Tak for hjælpen
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