Dagen,Uren,Minuten

Status
Niet open voor verdere reacties.

Richard1967

Nieuwe gebruiker
Lid geworden
30 mrt 2016
Berichten
3
Hallo ik ben hier nieuw,

Ik heb direct een vraag.

Ik wil tussen 2 datums het aantal dagen,uren en minuten uitrekenen.
Ik ben begonnen om er eerst minuten van te maken.
1650 minuten, moet gaan weergeven "1 dagen, 3 uren, 30 minuten"
Zou iemand mij hier mee kunnen helpen?

Groet Richard
 
Hallo Richard

Welkom op helpmij.

Bedoel je zo iets: klik hier ?

links onder kan je ook kiezen voor: "Add time fields" om je tijden direct uit te rekenen. :d
 
Laatst bewerkt:
Datums kun je gewoon van elkaar aftrekken want het zijn getallen, dus dat is niet zo heel lastig. Het verschil is dan een tijd. Kwestie van de juiste notatie op de berekening zetten.
 
Of, als ik je vraag iets beter lees, wil je de notatie gesplitst hebben, met een aparte functie. Dan krijg je zoiets:
Code:
Function fdTotaalTijd(Interval As Double) As String

Dim TotalHours As Long, TotalMinutes As Long, TotalSeconds As Long
Dim iDagen As Long, iUren As Long, iMinuten As Long, iSeconds As Long
Dim bNeg As Boolean

    If Interval < 0 Then
        Interval = Abs(Interval)
        bNeg = True
    End If
    
    iDagen = Int(CSng(Interval))
    TotalHours = Int(CSng(Interval * 24))
    TotalMinutes = Int(CSng(Interval * 1440))
    TotalSeconds = Int(CSng(Interval * 86400))
    iUren = TotalHours Mod 24
    iMinuten = TotalMinutes Mod 60
    iSeconds = TotalSeconds Mod 60
    If bNeg = True Then
        If iDagen > 0 Then iDagen = -iDagen
        If iUren > 0 Then iUren = -iUren
        If iMinuten > 0 Then iMinuten = -iMinuten
        If iSeconds > 0 Then iSeconds = -iSeconds
    End If

    fdTotaalTijd = IIf(iDagen = 0, "", iDagen & IIf(iDagen = 1, " dag; ", " dagen; ")) _
        & IIf(iUren = 0, "", IIf(iUren = 1, iUren & " uur; ", iUren & " uren; ")) _
        & IIf(iMinuten = 0, "", iMinuten & IIf(iMinuten = 1, " minuut; ", " minuten; ")) _
        & IIf(iSeconds = 0, "", iSeconds & IIf(iSeconds = 1, " seconde", " seconden"))

End Function

En dat gebruik je dan zo in een query:
Code:
Expr1: fdTotaalTijd([eindtijd]-[starttijd])
 
OctaFish,

Dat bedoel ik inderdaad, nou lukt mij een Query maken best wel.
Maar dat stukje code waar plaats ik dat dan, ook in de Query, of later op het formulier?
 
Nee, de functie is precies wat het is: een functie. En die moet je op een module zetten. Heb je nog geen modules: <Alt>+<F11> (vba venster), <Invoegen>, <Module>. En dan de functie daar plakken. De rest is zoals aangegeven. Dus in een query maak je dan de berekening.
 
Thks, het werkt, krijg alleen op het frm in een leeg veld een #Fout melding
 
Je moet in dat geval de fout afvangen in je query. Doe je met een IIF functie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan