Minuten in Zeit umrechen über Abfrage Access
Hallo,
ich habe in einer Tabelle Minuten (Positive wie Negative Werte)
nun habe ich in einer Abfrage Hilfspalten eingebunden um diese Minuten wieder in Uhrzeit darzustellen.
Problem hierbei, dass sobald es mehr als 60 Minuten sind der Wert in der Spalte + 1 Stunde mehr darstellt.
Dieses Verhalten habe ich nur bei Negativminuten
Beispiel
Abfrage1
Spalte 1
Stunden_soll_haben
-69
-129
-39
-60
-59
-61
51
111
141
Spalte 2
Soll-Haben
00:00:00
02:09:00
03:09:00
01:39:00
01:00:00
01:59:00
02:01:00
00:51:00
01:51:00
02:21:00
als Feldaufbau habe ich
Soll-Haben: ZeitSeriell(Int([Stunden_soll_haben]/60);[Stunden_soll_haben] Mod 60;0)
verwendet.
Vielleicht hat hier jemanden einen Ansatz, warum Access 1 Stunde mehr anzeigt.
Gleichzeitig möchte ich erreichen, sobald ein Minuswert angezeigt wird, dass dieser auch die Spalte negativ darstellt.
ich habe in einer Tabelle Minuten (Positive wie Negative Werte)
nun habe ich in einer Abfrage Hilfspalten eingebunden um diese Minuten wieder in Uhrzeit darzustellen.
Problem hierbei, dass sobald es mehr als 60 Minuten sind der Wert in der Spalte + 1 Stunde mehr darstellt.
Dieses Verhalten habe ich nur bei Negativminuten
Beispiel
Abfrage1
Spalte 1
Stunden_soll_haben
-69
-129
-39
-60
-59
-61
51
111
141
Spalte 2
Soll-Haben
00:00:00
02:09:00
03:09:00
01:39:00
01:00:00
01:59:00
02:01:00
00:51:00
01:51:00
02:21:00
als Feldaufbau habe ich
Soll-Haben: ZeitSeriell(Int([Stunden_soll_haben]/60);[Stunden_soll_haben] Mod 60;0)
verwendet.
Vielleicht hat hier jemanden einen Ansatz, warum Access 1 Stunde mehr anzeigt.
Gleichzeitig möchte ich erreichen, sobald ein Minuswert angezeigt wird, dass dieser auch die Spalte negativ darstellt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 269895
Url: https://administrator.de/forum/minuten-in-zeit-umrechen-ueber-abfrage-access-269895.html
Ausgedruckt am: 08.01.2025 um 22:01 Uhr
5 Kommentare
Neuester Kommentar
Du musst schon absolute Zahlen zum Rechnen nehmen
Gruß jodel32
Soll-Haben: Wenn(Vorzchn([Stunden_soll_haben])=-1;"-";"") & ZeitSeriell(Int(Abs([Stunden_soll_haben]/60));Abs([Stunden_soll_haben]) Mod 60;0)
Dann etwa so
Und mach das zu einem Textfeld - ein Datumsformatiertes Feld wird mit Zeiten größer 24:00 nicht klar kommen, das sollte klar sein
Gruß jodel
Soll-Haben: Wenn(Vorzchn([Stunden_soll_haben])=-1;"-";"") & Rechts("00"&Int(Abs([Stunden_soll_haben])/60);2)&":"&Rechts("00"&(Abs([Stunden_soll_haben]) Mod 60);2)&":00"
Gruß jodel
Moin thomas1972,
ich finde es gruselig....
Ich finde es gruselig, dass dein Titel "Minuten in Zeit umrechnen" heisst und nach ein paar Lösungsvorschlägen die Anforderung umdefiniert wird zu "Minuten als Zeitintervall in Tagen, Stunden und Minuten ausgeben"
Ich finde es gruselig, dass deine Minuten-Werte in einem Feld namens "Stunden_soll_haben" untergebracht sind.
Ich hätte vielleicht den Feldnamen "Minuten" gewählt,
Aber hey! Selbst der Feldname "grzkging" wäre sprechender und weniger irreführend gewesen.
Ich finde es gruselig, dass deine neue Frage lautet " wie kann ich hier größer 24 Stunden ausgeben lassen?"
Sollen wir Vorschläge machen? Was wäre denn eine brauchbare Formatierung?
Der von jodel32 in den Ring geworfene String "hh:mm:ss" oder lieber eine Ausgabe " dd Tage hh Std mm Min"?
Ich finde es gruselig, wenn die SQL-Statements hier in der Form gepostet werden, wie sie in dem Access-Abfrage-Assistenten von den Unterschleißheimern eingedeutscht werden und das auch nur für ein Feld.
Macht es denn viel Aufwand, auf "SQL-Ansicht" zu gehen und das komplette Statement hier formatiert zu posten?.
Okay, das musste sein.
Mein Ansatz wäre hier:
Wobei meine Tabelle "minutentest" heisst und mein Feld mit den Minuten... hab ich weniger kreativ benannt als du.
Die Ausgabe wäre dann in etwa
P.S. Und die eingeunterschleißheimerte Praktikantenversion der Feldes "Diff" lautet
Falls es sich so besser lesen lässt.
Kopfschüttelnd
Biber
ich finde es gruselig....
Ich finde es gruselig, dass dein Titel "Minuten in Zeit umrechnen" heisst und nach ein paar Lösungsvorschlägen die Anforderung umdefiniert wird zu "Minuten als Zeitintervall in Tagen, Stunden und Minuten ausgeben"
Ich finde es gruselig, dass deine Minuten-Werte in einem Feld namens "Stunden_soll_haben" untergebracht sind.
Ich hätte vielleicht den Feldnamen "Minuten" gewählt,
Aber hey! Selbst der Feldname "grzkging" wäre sprechender und weniger irreführend gewesen.
Ich finde es gruselig, dass deine neue Frage lautet " wie kann ich hier größer 24 Stunden ausgeben lassen?"
Sollen wir Vorschläge machen? Was wäre denn eine brauchbare Formatierung?
Der von jodel32 in den Ring geworfene String "hh:mm:ss" oder lieber eine Ausgabe " dd Tage hh Std mm Min"?
Ich finde es gruselig, wenn die SQL-Statements hier in der Form gepostet werden, wie sie in dem Access-Abfrage-Assistenten von den Unterschleißheimern eingedeutscht werden und das auch nur für ein Feld.
Macht es denn viel Aufwand, auf "SQL-Ansicht" zu gehen und das komplette Statement hier formatiert zu posten?.
Okay, das musste sein.
Mein Ansatz wäre hier:
SELECT minutentest.Minuten
, IIf(Abs(minuten/1440)>1,Format(Fix(Abs(minuten)/1440),"@@")
& " Tage ",Space(7)) & Format(minuten/1440,"hh nn")
& IIf(Sgn([Minuten])=-1,"-","+") AS diff
FROM minutentest;
Die Ausgabe wäre dann in etwa
Minuten diff
0 00 00+
177 02 57+
33 00 33+
-43 00 43-
-240 04 00-
230 03 50+
-230 03 50-
3400 2 Tage 08 40+
-2430 1 Tage 16 30-
P.S. Und die eingeunterschleißheimerte Praktikantenversion der Feldes "Diff" lautet
diff: Wenn(Abs(minuten/1440)>1;Format(Fix(Abs(minuten)/1440);"@@") & " Tage ";Leerzchn(7)) & Format(minuten/1440;"hh nn") & Wenn(Vorzchn([Minuten])=-1;"-";"+")
Falls es sich so besser lesen lässt.
Kopfschüttelnd
Biber