Tabelle mit Beginn, Ende, Pause erstellt. Formatiewrt als Zeit hh:mm.ss.
Die Arbeitszeit errechnet sich aus Ende-Beginn-Pause. Alles muss vorher in Sekunden umgerechnet werden.
Die Umrechnung mache ich in einer Abfrage mir CAST( LEFT( "Ende", 2 ) AS INTEGER ) * 3600 + CAST( SUBSTRING ( "Ende", 4, 2 ) AS INTEGER ) * 60 + CAST( RIGHT( "Ende", 2 ) AS INTEGER ) jeweils für Beginn, Ende und Pause. Diese werden in als Alias EndeSekunden, BeginnSekunden und PauseSekunden angezeigt.
Mein Problem ist das ich die Berechnung Arbeitszeit = Ende-Beginn-Pause nicht hinbekomme. Was mache ich falsch?
🎄 Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! 🎄
❤️ Nur noch wenige Tage, um das Ziel für 2025 zu erreichen. Vielen lieben Dank! ❤️
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig ihr Wissen teilen.<<
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen Dank!
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Libreoffice Base Arbeitszeit berechnen
Re: Libreoffice Base Arbeitszeit berechnen
Hallo Djano_2,
da ist bereits in der ersten Zeile Deines Posts eine Unklarheit: Du hast eine Tabelle, in der etwas als Zeit "formatiert" ist. Wenn dem der Feldtyp TIME zugrunde liegt, dann ist das keine Formatierung, sondern ein Inhalt, den Du über so etwas wie
auslesen kannst. Das ist doch keine Texteingabe, die Du da verarbeitest, oder?
Es fehlt auch die Information, mit welcher der internen Datenbanken Du arbeitest. Der Code der HSQLDB unterscheidet sich besonders bei Zeit- und Datumsangaben sehr von dem in Firebird. In Firebird brauchst Du keine Umrechnungen zu tätigen. Da kannst Du die eine Zeit von der anderen direkt abziehen.
Gruß
Robert
da ist bereits in der ersten Zeile Deines Posts eine Unklarheit: Du hast eine Tabelle, in der etwas als Zeit "formatiert" ist. Wenn dem der Feldtyp TIME zugrunde liegt, dann ist das keine Formatierung, sondern ein Inhalt, den Du über so etwas wie
Code: Alles auswählen
RIGHT( '0' || EXTRACT ( HOUR FROM "Ende" ), 2 )*3600
+ RIGHT( '0' || EXTRACT ( MINUTE FROM "Ende" ), 2 )*60 ...Es fehlt auch die Information, mit welcher der internen Datenbanken Du arbeitest. Der Code der HSQLDB unterscheidet sich besonders bei Zeit- und Datumsangaben sehr von dem in Firebird. In Firebird brauchst Du keine Umrechnungen zu tätigen. Da kannst Du die eine Zeit von der anderen direkt abziehen.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Libreoffice Base Arbeitszeit berechnen
Der erste Fehler liegt in der Frage selbst:
Da Du nur die Vorarbeiten erklärst, aber nicht, was Du tatsächlich versucht hast um die Differenz zu bilden und welche Fehler es gibt, kann man nur raten? (Klingt als ob Du die Lösung einer Hausaufgabe suchst.)
Wie Robert schon annahm: Dein Code macht nur Sinn, wenn Deine Zeitangaben Texte sind, z.B. "08:30:00".
Wenn der Teil funktioniert, sollte
Code: Alles auswählen
EndeSekunden-AnfangSekunden-PauseSekunden AS ArbeitszeitSekunden
Dir die Sekundenzahl liefern, die Du dann nur noch wieder in HH:MM:SS umwandeln musst.
An welcher Stelle hakt es denn?
MFG, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.