Office: (Office 2013) Uhrzeit Berechnen

Helfe beim Thema Uhrzeit Berechnen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, nein, die Formel dezimal ist nicht falsch. Wie schon so oft, solltest Du richtig lesen bzw. abschreiben. *grins In Deiner Formel fehlt ein... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Crashbreaker, 9. November 2015.

  1. Uhrzeit Berechnen


    Hallo,
    nein, die Formel dezimal ist nicht falsch. Wie schon so oft, solltest Du richtig lesen bzw. abschreiben. *grins
    In Deiner Formel fehlt ein Klammerpaar.
    Siehe mein Beitrag in #44
    Du rechnest erst 00:00 *24 und ziehst dann 15:00 (0,625) ab = 23,375 was auch mathematisch richtig ist.
    Mit Klammer
    (15:00 - 00:00 + 1) *24
    wird erst der Ausdruck in der Klammer ausgewertet und dann multipliziert.
    Das ist Mathe, nicht Access.

    Übrigens, in Deinem Beitrag #25 war die Formel korrekt.
     
    gpswanderer, 14. November 2015
    #46
  2. Vorab gefragt: du weißt, was mit dem Ausdruck Abs([Ende] < [Beginn]) erreicht werden soll?

    Hast du schon einmal die Berechnung manuell versucht?
    Mit ein paar Beispieldaten kannst du so etwas doch schnell prüfen und den Fehler finden.
    Tipp zur Fehlersuche: Cdbl([Datumswert]) => Die Ganzzahl gibt die Tage seit "Tag 0" zurück. Der Dezimalanteil * 24 gibt die Stunden an.

    Noch ein Tipp: Rechenregeln beachten (Punkt vor Strichrechnung) ... oder Klammer setzen.

    mfg
    Josef
     
  3. Oh man, ja stimmt ihr habt recht.
    Ich habe beim tüfteln und ständig am Code was geändert und da muss sich die Klammerkn versetzt sein. Jetzt stimmt der Dezimal-Anteil doch.

    Nun wie kann ich das 2. Problem lösen.
    Und zwar, dass wenn ich auf Felder-Leeren klicke, dass alle Felder "" leer sind und nicht "Date" bekommen.

    Wie kann ich da denn vorgehen?
    Mir fällt gerade was ein. Und zwar, besteht die Möglichkeit einem String zu Date zu konvertieren, wenn ja wie?
    Weil das könnte ich ja vor der Funktionsaufruf abfangen und entsprechend vorher Konvertieren.

    MfG
    Daniel

    Nachtrag:
    Okay habe die Konvertierung raus bekommen und läuft über CDate(...) ..
    Werde es damit mal versuchen.
     
    Crashbreaker, 14. November 2015
    #48
  4. Uhrzeit Berechnen

    Leider klappt es nicht mit CDate() zu konvertieren.
    Finde ich echt blöd, obwohl die Funktion zum konvertieren angeblich geeignet wäre.

    Hat da jemand eine Idee, wie ich da vorgehen könnte?
     
    Crashbreaker, 14. November 2015
    #49
  5. So geht es auch:

    Code:
     
    Crashbreaker, 14. November 2015
    #50
  6. Hallo,
    was willst Du mit dem einsamen timeDiff = "".
    Irgendwie lernst Du nix.
    Für timeDiff gibt es keine Deklartion (Dim As...)
    Die Zuweisung von von "" erzeugt einen String.
    Hier ist die Zeile

    Code:
    notwendig, denn Du benötigst hier eine Dezimalzahl. Du brauchst auch eine Zahl, denn wahrscheinlich musst Du damit auch rechnen (Summen).
    Du kannst damit noch nicht mal richtig sortieren, wenn das mal benötigt wird.

    Das habe ich jetzt schon mehrfach gesagt, aber Du ignoriest das einfach hartnäckig. Die Funktion selbst darf auch keinen String zurückliefern, das muss Double sein. Du handelst hier Zahlen und sonst nix. Alles andere wird Dir Probleme machen.

    Code:
    Und damit muss auch das Format in der Funktion entfallen, auch wegen der Deklaration von timeDiff As Double.
    Auch das .Value kann entfallen.

    Bitte nicht wieder ignorieren.
     
    gpswanderer, 14. November 2015
    #51
  7. notwendig, denn Du benötigst hier eine Dezimalzahl. Du brauchst auch eine Zahl, denn wahrscheinlich musst Du damit auch rechnen (Summen).
    Du kannst damit noch nicht mal richtig sortieren, wenn das mal benötigt wird.

    Das habe ich jetzt schon mehrfach gesagt, aber Du ignoriest das einfach hartnäckig. Die Funktion selbst darf auch keinen String zurückliefern, das muss Double sein. Du handelst hier Zahlen und sonst nix. Alles andere wird Dir Probleme machen.

    Code:
    Und damit muss auch das Format in der Funktion entfallen, auch wegen der Deklaration von timeDiff As Double.
    Auch das .Value kann entfallen.

    Bitte nicht wieder ignorieren.

    Hallo gpswanderer,

    ich danke für deine Hilfe etc., bin dir auch sehr Dankbar, wirklich. Aber irgendwie finde ich es sehr traurig gerade, dass du dein Ton hier etwas über dimmensioniert rüber bringst.

    1.) habe ich wohl die Variable "timeDiff" definiert und zwar als String. Siehe dazu mein Beitrag in #37
    2.) die Funktion soll auch ein String liefern. Allein schon aus dem Grunde, weil wenn man von der Funktion "00:00" bekommen möchte, kann da ein Double-Wert mit ":" (Doppelpunkt) nichts mit Anfangen bzw. umgehen.

    3.) Du hast bis jetzt nicht verstanden, worum es mir hier bei der Funktion geht.
    3.1.) Denn du bestehst darauf, dass die Funktion NUR ein Zahl (als Typ: Double) liefert. Dabei ist das falsch. Weil, wenn es so wäre, hast du recht, da hätte ich es viel einfach machen können. Ich denke da etwas weiter, da ich an dem Projekt noch viele andere Sachen entwickeln muss.
    3.2.) Habe schon mehrfach erwähnt, dass die Funktion (optional) beides können, und entweder oder liefern muss.

    4.) für die Sortierung wäre das pip egal, da das Wert später / am Ende per SQL-Anweisung in einer Tabelle abgespeichert wird. Somit kann man dann wiederum per SQL-Anweisung die Datensätze ganz normal wohl sortieren.

    5.) Warst du nicht derjenige (siehe Beitrag #4) der gemeckert hat, dass ich nicht komplett alles Zitieren soll, damit die Beiträge sich nicht unnötigerweise verlängert?
    Also wäre es doch laut deiner Meinung nach doch schwachsinn (siehe Variable timeDiff), den Code hier andauernd wiederholen zu lassen, in dem man den gleichen Code mehrfach rein kopiert. Das wolltest du ja nicht oder?
    Daher verstehe ich gerade deine Aufregung nicht und vorallem warum du so abgehst.

    Oder ich weiß nicht, vielleicht empfinde ich das gerade etwas hart ....

    Aber wie gesagt. Bin euch allen sehr sehr Dankbar. Denn ich bin durch euch weiter gekommen und das zählt.

    MfG
    Daniel
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Crashbreaker, 15. November 2015
    #52
  8. Uhrzeit Berechnen

    Denkfrage: Was würde man mit Zeitdifferenzen in der Nachfolge machen?

    Falls man rechnen, z.B. summieren wollte:
    Rechnet man besser (direkter) mit Text ('Moritz' + 'Bodo') oder mit Zahlen (3 + 7)?

    Wenn Du die Ergebnisse nur noch anguckst / ausdruckst, wäre Text o.k.

    Das war aber nur eine praktische Überlegung und soll sicher nicht jemandes Wohlgefühl verletzen.
     
  9. Hallo,
    so ist es, ich habe mich in keinster Weise aufgeregt. Im Grunde ist mir egal wie Du die Ratschläge umsetzt. Ich versuche Dich nur auf die richtige Bahn zu führen und ich versuche DIR zu helfen.

    Hast Du in jedem Klassenmodul (Formular/Bericht) ganz oben diese beiden Zeilen stehen:
    Code:
    Wenn nicht, mach das mal und kompiliere dann den Code.
    Dazu braucht es keinen String. Das Feld mit hh:nn formatiert zeigt auch 00:00

    genau darum sollst Du es eben nicht als String speichern. Damit kannst Du nichts entwickeln, Du kannst keine Summen bilden nicht addieren, mit dem String kannst Du in einer Weiterentwicklung nichts anfangen. In einer Datenbank formatiert man erst als letzten Schritt zur Anzeige.

    wozu, der Zeitwert reicht doch vollkommen. Diesen bei Bedarf mit 24 multipliziert und schon hast Du die dezimalen Stunden. Du musst ja mit der Funktion auch unterscheiden, was Du gerade sehen willst.

    eben nicht, denn es wird als Text sortiert und das ergibt eine falsche Reihenfolge. Dass das in einer Tabelle gespeichert wird nutzt da gar nix.
    Wobei wir schon beim nächsten Punkt wären. In einer Datenbank speichert man keine Werte die sich jederzeit berechnen lassen. Das kann zu Fehlern führen. Es zwingt Dich immer dafür zu sorgen, dass bei Änderungen eines Ausgangswertes auch die Tabelle aktualisiert wird und das kannst Du nicht immer sicherstellen.
    Und da kommt dann wieder die Abfrage ins Spiel (siehe Vorschlag in #44). Mit einer Abfrage und berechneten Feldern wärst Du eindeutig besser dran.

    Ich bin nach wie vor der Meinung, dass Du es Dir mit der Funktion nur unnötig schwer machst.

    PS:
    Warum hast Du denn jetzt schon wieder meinen kompletten Beitrag zitiert ?
     
    gpswanderer, 15. November 2015
    #54
  10. Hallo!

    Etwa OT, aber vielleicht doch überlegenswert.

    Wenn du die Aufgabe deiner Funktion timeDiff in mehrere Teilaufgaben zerteilst, kannst du einen VBA-Code schreiben, der einerseits rechnen und andererseits Zeiten als Text darstellen kann.

    Wenn du dann noch den Funktionen beschreibende Namen gibst (vielleicht bessere als ich sie weiter unten verwende *wink.gif*), kommt es auch zu keinem Verständnisproblem.

    Anm.: wenn ich aus dem Funktionsnamen "timeDiff" deren Aufgabe und Rückgabewert raten müsste, würde ich erwarten, dass mir eine Zeitdifferenz als Zahl zurückgegeben wird.

    Möglicher Aufbau einer VBA-Funktionssammlung (nur Prinzip-Darstellung, kein einsatzfähiger Code!):

    Code:
    Bei Bedarf kannst du dann immer noch eine Hüllfunktion erstellen, die entweder die Zahl oder den String zurückgibt.
    Code:
    mfg
    Josef
     
  11. Daher bin ich dir auch dankbar. Es kam nur etwas komisch rüber.

    Das habe ich von Anfang an bereits gemacht. Hatte die Frage zuvor auch beantwortet gehabt.

    Ja wenn ich Uhrzeit haben möchte, reicht diese Art von Formatierung und wenn ich doch aber Dezimalwert haben möchte, passt es nicht. Dann kann ich auch schlecht Double nehmen. String dagegen vereint beides .. Dem Stringwert ist es egal ob da Zahl oder Text drin steht ;-)

    Ich sage ja nicht das du ganz unrecht hast. Doch ich möchte vermeiden, dass beim Funktionsaufruf zusätzlich jedesmal Formatiert wird. Das könnte ich einmal im Funktion machen.

    Ich speicher auch in der DB in derjeweiligen Feld nur die Uhrzeit letztendlich ab. Da geht auch kein weg dran vorbei ...

    Ich werde es mir überdenken und eventuell das so handhaben wie du es meinst. Schließlich spricht ihr ja aus Erfahrung.

    Weil du dich nicht entscheiden konntest. Denn bevor da was ja wieder fehlt ... *tongue.gif*

    MfG
    Daniel
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Crashbreaker, 15. November 2015
    #56
  12. Hallo Josef,

    was bedeutet OT?

    Stimmt das wäre auch eine gute Überlegung wert.
    Hast gute Idee, so könnte man auch dann den Ratschlag von Klaus nachgehen.

    Ich versuche das mal umzusetzten.


    Wäre so, wenn ich nicht über Checkbox die Entscheidung vorgebe, ob Dezimal oder Uhrzeit.
    Siehe Parameter.

    Aber versuche das obige mal umzusetzen.

    Eine ganz andere Frage:

    Wie kann ich einem Button das Bild ändern und zwar aus dem Standardbildern die man auswählen kann?

    Weil ich hätte im Laufzeit das Bild geändert.

    MfG
    Daniel
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Crashbreaker, 15. November 2015
    #57
  13. Uhrzeit Berechnen

    So kann man es auch sehen.

    Um konsequent zu sein: Wozu überhaupt den Datenbankkram mit Tabellen, Feldern, Datentypkram usw.? Eine Textdatei fasst auch 2 GB. Da kann man alle Zeichen und Infornmationen reinwerfen, die so anfallen.
    Ja, und Textverarbeitung kann ja nun jeder.
     
  14. Hallo,
    Der Satz zeigt mir, dass Du den Datentyp "Datum/Uhrzeit" noch nicht verstanden hast. Das errechnete Feld ist keine Uhrzeit. Du arbeitest doch bestimmt 9 Stunden und keine 09:00 Uhr, oder ?
    Das ist keine Haarspalterei, sondern zum Verständnis wichtig. Und die errechnete Differenz zwischen zwei Zeiten ist bereits dezimal. Die errechnete Zeit ist der dezimale Anteil eines Tages, da muss nichts umgerechnet bzw. umformatiert werden. Diese dezimale Zahl wird mit 24 multipliziert um die dezimalen Stunden zu erhalten.
    Du benötigst also nur einen einzigen dezimalen Wert, nämlich die reine Differenz zwischen den beiden Uhrzeiten.
    06:00 (0,25) bis 15:00 (0,625) = 0,625-0,25 = 0,375 = 0,375 Tage = 9 Std.
    Und diese 0,375 Tage kannst Du bei Bedarf als Uhrzeit formatieren. Mit dieser einen dezimalen Zahl kannst Du also alles anstellen was Du brauchst. Und noch etwas, die Formatierung dieser Zeitdifferenz als Uhrzeit funktioniert nur bis
     
    gpswanderer, 15. November 2015
    #59
  15. Ach so, jetzt verstehe ich dich viel besser. Ups, sorry hat klick gemacht. Zwar reichlich spät aber jetzt habe ich das verstanden und somit hast du wirklich recht.
    So gesehen wäre das Richtige den Funktionsrückgabewert Double zu verpassen.
    Setze ich gleich um.

     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Crashbreaker, 16. November 2015
    #60
Thema:

Uhrzeit Berechnen

Die Seite wird geladen...
  1. Uhrzeit Berechnen - Similar Threads - Uhrzeit Berechnen

  2. Uhrzeiten berechnen

    in Microsoft Excel Hilfe
    Uhrzeiten berechnen: Hallo zusammen, ich hatte früher eine Tabelle wo ich mit Uhrzeiten gerechnet habe, Diese finde ich leider nicht mehr. Mein problem besteht darin dass ich Zeiten aus einem Erfassungs Programm in...
  3. Zeit Berechnung mit mehreren kriterien (Datum/Uhrzeit)

    in Microsoft Excel Hilfe
    Zeit Berechnung mit mehreren kriterien (Datum/Uhrzeit): Hallo zusammen, leider weiss ich nicht wie ich die Start- und Endzeit von "Datum und Uhrzeit" mit mehreren kriterienin über Summewenns einbauen kann. Hab hier im Forum nach einer Lösung geschaut...
  4. Uhrzeit subtrahieren bei mehr als 24h

    in Microsoft Excel Hilfe
    Uhrzeit subtrahieren bei mehr als 24h: Hallo, ich habe folgendes Problem: Zelle A1 = 11.10.2023 07:54 Zelle A2 = 12.10.2023 07:59 Wie berechne ich die Differenz (A3) ? Wie viele Minuten sind das? Habe es auch schon über die...
  5. Stunden aus Datum/Uhrzeit berechnen

    in Microsoft Excel Hilfe
    Stunden aus Datum/Uhrzeit berechnen: Hallo Liebe Alle ich versuche folgendes: Ich habe die Zeiten 03.10.2023 01:32 und 06.10.2023 15:48, nun will ich wissen Wieviele Stunden/Minuten vergangen sind, allerdings nur jene zwischen 08:30...
  6. Uhrzeiten aus Startzeit und Minuten berechnen und addieren

    in Microsoft Excel Hilfe
    Uhrzeiten aus Startzeit und Minuten berechnen und addieren: Hallo zusammen. Ich versuche einen Ablaufplan zu automatisieren. Das Endergebnis soll im Prinzip folgendermaßen aussehen: [ATTACH] Die Anfangszeit soll aus einer Zelle gezogen werden. Die Dauer...
  7. Mittelwert von Uhrzeiten berechnen

    in Microsoft Excel Hilfe
    Mittelwert von Uhrzeiten berechnen: Hallo Ihr Lieben, ich habe schon wieder ein Problem,und zwar habe ich in einer Spalte verschiedene Uhrzeiten untereinander stehen, so z.B.: 1:15 23:55 0:10 Wenn ich jetzt den Mittelwert dieser 3...
  8. aktuelle Uhrzeit einmalig eintragen das nicht erneuert wird beim erneuten berechnen

    in Microsoft Excel Hilfe
    aktuelle Uhrzeit einmalig eintragen das nicht erneuert wird beim erneuten berechnen: Hallo hat jemand eine Idee wie ich die Formel ändern muss? Wenn in Zelle BF4 ein Wert eingetragen wird soll in Zelle BG4 die aktuelle Uhrzeit eingetragen werden die sich nicht mehr ändern darf....
  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