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 jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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.