Office: Umrechnung von Dezimal Zahlen in Stunden:Minuten über 24 Std

Helfe beim Thema Umrechnung von Dezimal Zahlen in Stunden:Minuten über 24 Std in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen! Ich versuche eine Lösung zu finden in einem Formular/Bericht - einen Stunden Wert als hhh:mm auszugeben. Im Hintergrund laufen... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Schlauchi, 21. März 2009.

  1. Schlauchi Erfahrener User

    Umrechnung von Dezimal Zahlen in Stunden:Minuten über 24 Std


    Hallo zusammen!

    Ich versuche eine Lösung zu finden in einem Formular/Bericht - einen Stunden Wert als hhh:mm auszugeben.

    Im Hintergrund laufen einige Abfragen die mir Zeiten zusammen summieren. Das typische Access Problem - nach 24 Std fängt die Rechnung von vorne an.

    Wie schaffe ich es (per VBA) eine Zeit z.B. 276,75 Std. als 276:45 anzeigen zu lassen?

    Bin ja schon soweit das ich zwei Felder erreichnen lasse - eines die Stunden Zahl mit Komma (276,75) - und ein zweites das mir nur die Minuten ausgibt (:45).

    wenn ich das Komma allerdings auf Null Stellen setzte - rundet mir das System natürlich alles ab ,5 Std nach oben auf.

    Also aus 276,75 wird dann 277 Std und 45 Min... das ist natürlich falsch.

    Gibts ne Möglichkeit ein Feld richtig rechnen zu lassen - die letzten drei Stellen - " ,75 " abzuschneiden - und mit dem anderen Minuten Feld zu kombinieren? Also kombinieren kann ich ja - bis jetzt kommt dann aber sowas wie 276,75:45 raus.... müsste irgendwie die ,75 loswerden.

    Oder gleich den richtigen Wert umzusetzten ohne diesen Umweg?

    Kann man das generell als eine Formel irgendwo ablegen? Ich brauch diese Umrechnung an mehr als einhundert Stellen... es ist eine sehr komplexe Datenbank - mit vielen Auswertungen - mit vielen vielen Stunden - die auch mal mehr als 1.000 Std werden können...

    Gibt es evtl. eine Möglichkeit mir immer den Wert vor dem Komma - egal wieviele Stellen es sind - mir anzuzeigen (damit ich nicht falsch runde...)

    Danke für euere Ideen!
    Björn[/i]
     
    Schlauchi, 21. März 2009
    #1
  2. miriki Erfahrener User
    Re: Umrechnung von Dezimal Zahlen in Stunden:Minuten über 24

    Die Funktion INT (GANZZAHL) könnte Dir da weiterhelfen.

    Code:
    ganz = INT(kommazahl)
    teil = kommazahl - INT(kommazahl)
    Gruß, Michael
     
    miriki, 23. März 2009
    #2
  3. Schlauchi Erfahrener User
    soweit so gut... aber INT zieht auch gerne mal -1 ab...

    Danke Michael - dies war schon mal ein großer Schritt in die Richtung wohin ich wollte.

    Habe das ganze nun in Tabellen eingebunden - funktioniert auch fast so wie es sein sollte. Das ganze wird nun in zwei Spalten berechnet - einmal die Stunden mit INT... *24(da hh:nn summiert wird) - und eine spalte einfach mit Format SUM :nn - dann bekomme ich nur die Minuten mit einem ":" davor... so wie ich es brauche.

    Nur ein Problem - wie kommt die Kiste darauf - das aus Kommazahl 5,00 plötzlich INT (5,00) gleich 4 rauskommt??

    Habe es nur bei manchen die hier auf ,00 enden - das plötzlich vorne -1 abgezogen wird.

    Hab auch nochmal im Hintergrund nachgeschaut wie die Zahl berechnet wird - aus 3 * 1:40 Std - sind 5:00 Std... und er zeigt mir nun 4 Std. und :00 Minuten.

    Wie gesagt - das passiert auch nicht immer - aber manchmal... aber natürlich immer bei den gleichen Datensätzen.

    Rechenfehler der PC Generation? irgendwo was falsch eingestellt? :-(

    Da bin ich echt ratlos.
     
    Schlauchi, 23. März 2009
    #3
  4. miriki Erfahrener User

    Umrechnung von Dezimal Zahlen in Stunden:Minuten über 24 Std

    Re: soweit so gut... aber INT zieht auch gerne mal -1 ab...

    Das ist eigentlich nur mit ziemlicher Sicherheit ein Rundungsfehler. Ich schätze, daß es eigentlich 4,9 mit etlichen 9en mehr ist, was in der Anzeige noch sauber auf 5,0 gerundet wird. GANZZAHL schneidet aber die ganzen ,9 ab und es bleibt dann wirklich 4 als Ergebnis.

    Ich hab mal versucht, es nachzubilden, aber ich kriege 5 und 0 raus:
    Code:
    B2: 01:40:00                   'format: [h]:mm:ss
    D2: =b2*3                      'format: [h]:mm:ss
    G2: =ganzzahl(d2*24)           'format: standard
    H2: =(d2*24)-ganzzahl(d2*24)   'format: standard
    Allerdings könntest Du auch:
    Code:
    G4: =stunde(d2)   'format: standard
    H4: =minute(d2)   'format: standard
    Und wenn die Stunden über 24 hinausgehen:
    Code:
    F4: =tag(d2)   'format: standard
    Wenn allerdings die Tage auch noch über 31 hinausgehen, wird's langsam haarig... ;-)

    Gruß, Michael
     
    miriki, 24. März 2009
    #4
  5. Schlauchi Erfahrener User
    Ein "Work around"

    Hi,

    egal wie ich die Werte berechnen lasse - er kommt immer wieder zum Rundungsfehler. Irgendwo her zieht er ne Millisekunde.... und rundet falsch.

    Hab es nun wie folgt gelöst - da ich es direkt in die Abfragen eingebaut hab:

    FieldA: INT(Sum (([EndZeit]-[AnfangsZeit])*24)+0,00001)

    Ist zwar Mathematisch nicht richtig - aber löst alle Probleme mit dem Runden. Den - wenn ich mal irgendwo an 59 Min in Dezimal umrechnen muß - also in 0,983333 - da sind dann 0,00001 ohne Bedeutung.

    Es ist für mich nicht Logisch nachvollziehbar warum Access hier falsch rechnet - mit Excel ist das kein Problem. Auch wenn ich 3 Werte von je 1:40 nehme - komm ich auf 5 Std. Aber sobald diese 3 Werte aus einer anderen Tabelle berechnet werden.... steigt Access aus - egal wie ich das Feld Formatiere.

    So lassen sich aber auch Zeiten berechnen - die mehrere Tausend Stunden haben - also gibt es hier kein "31 Tage" Problem :-)

    Gruß
    Björn
     
    Schlauchi, 26. März 2009
    #5
Thema:

Umrechnung von Dezimal Zahlen in Stunden:Minuten über 24 Std

Die Seite wird geladen...
  1. Umrechnung von Dezimal Zahlen in Stunden:Minuten über 24 Std - Similar Threads - Umrechnung Dezimal Zahlen

  2. Wechselkurs umrechnen ueber Umweg

    in Microsoft Excel Hilfe
    Wechselkurs umrechnen ueber Umweg: Guten Morgen, ich habe die Wechselkurse der EZB, die ich auch für PL verwenden kann. Da die Wechselkurse, wenn es z.B. € ist, PLN zurückgeben muss, habe ich eine Formel angepasst:...
  3. Umrechnen von Platzierung in Punkte (umgekehrte Reihenfolge)

    in Microsoft Excel Hilfe
    Umrechnen von Platzierung in Punkte (umgekehrte Reihenfolge): Hallo zusammen, Unser Sport-Verein veranstaltet jährlich eine Liga mit monatlich einem Turnier. (also 12 insgesamt) Nun möchten wir am Jahresende den Ligagewinner anhand von vergebenen Punkten...
  4. Hexadezimalzahlen in Dezimal umrechnen

    in Microsoft Excel Hilfe
    Hexadezimalzahlen in Dezimal umrechnen: Hallo zusammen, ich habe ein Problem. ich muss 'ne Menge Hexadezimal umrechnen. Ich habe davon gelesen, dass Excel da eine tolle funktion namens =hex2dec() hat. Das Problem das ich habe, ist:...
  5. Dezimal in Binär umrechnen

    in Microsoft Excel Hilfe
    Dezimal in Binär umrechnen: Hallo zusammen, wer kann mir sagen wie der VBA-"Befehl" zur Umwandlung einer Dezimal- in eine Binärzahl lautet. Danke Gruß Petra 230000
  6. Stunden dezimal umrechnen

    in Microsoft Access Hilfe
    Stunden dezimal umrechnen: Hallo nochmal, wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht, tippe mir den Finger auf dem Taschenrechner wund: wie rechne ich denn Stunden dezimal aus einem Textfeld um, also z.B. 2...
  7. STundenzahl umrechnen in Dezimal ?

    in Microsoft Excel Hilfe
    STundenzahl umrechnen in Dezimal ?: Hallo zusammen, Blöde Frage ... komme aber nicht auf die Lösung. Habe eine Zeiterfassungstabelle in welcher Anfangs- und Endzeit eingetragen werden. In der nächsten Spalte wird durch...
  8. Umrechnung Uhrzeit in dezimale Stundenangabe

    in Microsoft Excel Tutorials
    Umrechnung Uhrzeit in dezimale Stundenangabe: Excel versteht alle Eingaben der Form "12:30" als Uhrzeitangbe und nicht als 12,5 Stunden. Es gibt allerdings einen Trick um trotzdem eine dezimale Stundenangabe zu erhalten: 1. In Zelle A1...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden