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?
Wir sind auf Ihre Unterstützung angewiesen!
💚 BITTE helfen Sie uns HEUTE mit einer SPENDE 💚
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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 nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️