Rechnen mit Zeiten in Access

Von: , Frage gestellt am So, 31. Mai 2009

Hallo liebe Access Experten, bin leider noch Anfänger und hoffe auf eure Hilfe: Ich möchte meine Arbeitszeiten mit Access berechnen

Habe in Tabelle Anfangszeit, Unterbrechung, Wiederaufnahme, Ende und Zeitsaldo erstellt.Alle Zeiten sind auch als DATUM/ZEIT definiert.

Berechnet habe ich mein tägl. Zeitsaldo in der Tabellenbefehlszeile folgend:
Zeitsaldo:DatDiff("n";[Anfangszeit];[Unterbrechung])/60 +DatDiff("n";[Wiederaufnahme];[Ende])/60. Soweit sogut. Das Ergebnis wird leider immer als Dezimalzahl dargestellt z.B. 2,5. Ich möchte aber die Darstellung als Zeitformat 02:30 erreichen und auch später mit diesem Format weiterrechnen. Wer kann mir für diese Formatumwandlung den nötigen Befehl/Weg aufzeigen?? Danke für jede erdenkliche Hilfe !!!!mojof

13 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde 0 hilfreich
    Re: Rechnen mit Zeiten in Access

    Hallo mojof, bin leider noch Anfänger und hoffe auf eure Hilfe: Ich möchte meine Arbeitszeiten mit Access berechnen
    welches Access? Das Ergebnis wird leider immer als Dezimalzahl dargestellt
    wo? Ich möchte aber die Darstellung als Zeitformat 02:30
    erreichen und auch später mit diesem Format weiterrechnen.
    du hast dir soeben die Antwort selbst gegeben: Format Wer kann mir für diese Formatumwandlung den nötigen Befehl/Weg
    aufzeigen??
    ich <- damit dürfte deine Frage beantwortet sein :-)

    Lösung: das Ausgabefeld (im Formular/Bericht) auch in Datum/Zeit formatieren.

    Grüße aus Schönberg (Lübeck)
    Wolfgang
    (Netwolf)

    • Antwort von nach 2 Stunden 0 hilfreich
      Re^2: Rechnen mit Zeiten in Access

      Danke Netwolf, das Format wurde angenommen, aber leider stimmt das Ergebnis nun nicht mehr.
      AZeit war: 08:30
      UZeit war: 12:00
      WZeit war: 13:30
      EZeit war: 15:30
      Dezimal zeigte das Ergebnis 5,5 Stunden, nach Änderung der Formates in
      Zeit, 24h erscheint immer das Ergebnis 12:00.
      Habe alle Formateingaben geprüft, kann da leider keinen Fehler erkennen.
      Sorry bitte nochmal um Hilfe !!
      molof

      • Antwort von nach 3 Stunden 0 hilfreich
        Re^3: Rechnen mit Zeiten in Access

        Hallo molof

        hier mal das Beispiel aus der Hilfe von Access:
        (kann man finden mit -> F1 -> Zeit berechnen)

        Function ElapsedTime(endTime As Date, startTime As Date)
        Dim strOutput As String
        Dim Interval As Date

        ' Calculate the time interval.
        Interval = endTime - startTime

        ' Format and print the time interval in seconds.
        strOutput = Int(CSng(Interval * 24 * 3600)) & " Seconds"
        Debug.Print strOutput

        ' Format and print the time interval in minutes and seconds.
        strOutput = Int(CSng(Interval * 24 * 60)) & ":" & Format(Interval, "ss") _
        & " Minutes:Seconds"
        Debug.Print strOutput

        ' Format and print the time interval in hours, minutes and seconds.
        strOutput = Int(CSng(Interval * 24)) & ":" & Format(Interval, "nn:ss") _
        & " Hours:Minutes:Seconds"
        Debug.Print strOutput

        ' Format and print the time interval in days, hours, minutes and seconds.
        strOutput = Int(CSng(Interval)) & " days " & Format(Interval, "hh") _
        & " Hours " & Format(Interval, "nn") & " Minutes " & _
        Format(Interval, "ss") & " Seconds"
        Debug.Print strOutput

        End Function


        hth


        Grüße aus Schönberg (Lübeck)
        Wolfgang
        (Netwolf)

        • Antwort von nach 4 Stunden 0 hilfreich
          Re^4: Rechnen mit Zeiten in Access

          Ich habe viel gelernt, herzlichen Dank! Ihre Lösung übersteigt aber
          meine derzeitigen begrenzten Kenntnisse, dass ich mich an den Code schon heranwage. Ich sollte vielleicht meine eigenen Ansprüche noch
          begrenzter halten. Aber trotzdem haben Sie mir sehr geholfen!
          Danke ! molof

  2. Antwort von nach 3 Stunden 0 hilfreich
    Re: Rechnen mit Zeiten in Access

    Hallo,


    etwa so:

    Zeitsaldo: Format((DatDiff("n";[Anfangszeit];[Unterbrechung]) +DatDiff("n";[Wiederaufnahme];[Ende]))/1440;"hh:mm")



    Viele Grüße vom Bodensee
    Franz, DF6GL

    PS: Feedback erwünscht!

    • Antwort von nach 4 Stunden 0 hilfreich
      Re^2: Rechnen mit Zeiten in Access

      Ich bin happy, das hat geklappt. Genauso hatte ich das erhofft!
      Vielen herzlichen Dank
      molof

    • Antwort von nach 6 Stunden 0 hilfreich
      Re^2: Rechnen mit Zeiten in Access

      Hallo DF6GL,
      Sorry, es hat sich eine Frage nun neu ergeben:
      Kann ich mit den einzelnen Ergebnissen des Zeitsaldos weiterrechnen?
      Ich benötige "nur" die Zeitsalden für jeweils immer den gleichen Tag.
      Beispiel:
      1. Arbeitsschritt am Tag / Zeitsaldo von Anfang bis Ende = 02:30 h
      2. Arbeitsschritt an Tag / Zeitsaldo von Anfang bis Ende = 03:00 h
      3. Arbeitsschritt an Tag / Zeitsaldo von Anfang bis Ende = 01:50 h
      Das ergäbe 07:20 h Gesamtdauer für diesen Tag. Habe versucht eine Abfrage zu erstellen,welche die einzelnen Zeitsalden mit Funktion Summe
      addiert: Fehlermeldung = Datentyp in Kriterienausdruck unverträglich.
      Gibt es da eine "relativ" einfache Hilfe?
      Grüße
      Jürgen, molof

      • Antwort von nach 19 Stunden 0 hilfreich
        Re^3: Rechnen mit Zeiten in Access

        Hallo,

        das wird etwas schwieriger...


        Select tblTabelle.ArbeitsschrittDatum, Sum(((DateDiff("n",[Anfangszeit],[Unterbrechung])+DateDiff("n",[Wiederaufnahme],[Ende]))/1440)) as s, Format([s],"hh:mm") as y from tblTabelle Group by tblTabelle.ArbeitsschrittDatum



        Aber Vorsicht: das Zeitformat kann nur max. 23:59 darstellen.



        Viele Grüße vom Bodensee
        Franz , DF6GL

        PS: Feedback erwünscht!

        • Antwort von nach 21 Stunden 0 hilfreich
          Re^4: Rechnen mit Zeiten in Access

          Guten Morgen an den Bodensee .....

          etwas schwierig ist gut! Danke herzlich für die Mühe!!!!
          Das Zeitformat bis 23:59 ist nicht kritisch, mein benötigtes Zeitfenster bewegt sich in dieser DB max. zwischen 06:00 und 21:00 Uhr.

          Habe versucht den gesamten Befehl in eine neue Auswahlabfrage zur Summenbildung der Tagessalden zu kopieren. Das war wohl der falsche Weg. Wenn ich die Auswahlabfrage starte, erscheint die Fehlermeldung:
          "Die Unterabfrage in diesem Ausdruck hat eine fehlerhafte Syntax.Prüfen Sie die Syntax der Unterabfrage, und setzten Sie die Unterabfrage in Klammern" Habe nochmals alle Datenfelder auf formale Gleichheit geprüft und auch meine Tabelle in der die Felder hinterlegt sind in "ArbeitsschrittDatum" umbenannt und alles auch in die ersten Abfrage kopiert,leider immer wieder mit der gleichen Fehlermeldung. Gibt es noch Rettung für mein Vorhaben???
          Grüße aus der Eifel
          Jürgen molof



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!