🙏 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. 🤗
Bericht: Funktion Minute funktioniert nicht
Re: Bericht: Funktion Minute funktioniert nicht
Moin
sehr schön, daß das jetzt offensichtlich doch ein Thema geworden ist.
Meine "strange observations":
-- der von Robert mit der Testdatenbank mitgelieferte Bericht funktioniert, die gleiche Geschicht in meinem Bericht eingetragen (Format HH) funktioniert nicht = keine Ausgabe/blank (LO 5.0.2)
--darauf, daß das Format MM als Monat interpreiert wird, wäre ich nicht gekommen, aber es stimmt offensichtlich - Respekt -
-- Das erklärte Ziel ist, einen "timestamp" der Form 234500 zu konstruieren, wie er in VCARD vorkommt. Wenn ich dieses in meinem
Bericht tue (Format HHMMSS), gibt es keine Ausgabe, wenn ich dieses in Roberts bericht tue, funktionioert die Ausgabe. Merkwürdig.
-- wie erwähnt, funktioniert die Teil-Zeit-Ausgabe Minuten bei mir nicht. bei Robert aber schon. Allerdings ist, um die führende Null zu erzeugen,
tatsächlich diese verrückte Kontruktion "right("0"&right(([Zeitfeld]);2)" notwendig. Die Formatierung (@ oder 11) ist egal.
-- der Rundungsfehler ist ärgerlich, weswegen ich diese aktuell immer mit &"00" angebe.
Warum auch immer es so ist, ich werde Roberts Bericht jetzt als Vorlage nehmen und meine Felder da einbauen, mal sehen was passiert.
m.
sehr schön, daß das jetzt offensichtlich doch ein Thema geworden ist.
Meine "strange observations":
-- der von Robert mit der Testdatenbank mitgelieferte Bericht funktioniert, die gleiche Geschicht in meinem Bericht eingetragen (Format HH) funktioniert nicht = keine Ausgabe/blank (LO 5.0.2)
--darauf, daß das Format MM als Monat interpreiert wird, wäre ich nicht gekommen, aber es stimmt offensichtlich - Respekt -
-- Das erklärte Ziel ist, einen "timestamp" der Form 234500 zu konstruieren, wie er in VCARD vorkommt. Wenn ich dieses in meinem
Bericht tue (Format HHMMSS), gibt es keine Ausgabe, wenn ich dieses in Roberts bericht tue, funktionioert die Ausgabe. Merkwürdig.
-- wie erwähnt, funktioniert die Teil-Zeit-Ausgabe Minuten bei mir nicht. bei Robert aber schon. Allerdings ist, um die führende Null zu erzeugen,
tatsächlich diese verrückte Kontruktion "right("0"&right(([Zeitfeld]);2)" notwendig. Die Formatierung (@ oder 11) ist egal.
-- der Rundungsfehler ist ärgerlich, weswegen ich diese aktuell immer mit &"00" angebe.
Warum auch immer es so ist, ich werde Roberts Bericht jetzt als Vorlage nehmen und meine Felder da einbauen, mal sehen was passiert.
m.
Re: Bericht: Funktion Minute funktioniert nicht
Sehr freundlich!
Dir ist schon klar, das die hier freiwillige Helfer in ihrer Freizeit Tipps geben?
Gruß R
Dir ist schon klar, das die hier freiwillige Helfer in ihrer Freizeit Tipps geben?
Gruß R
Re: Bericht: Funktion Minute funktioniert nicht
Nachklapp zu eben:
-- die Ausgabe "nur" des Feldes Zeitfeld mit der Formatierung HHMMSS ist korrekt: 190000
-- diese Ausgabe ist nicht verknüpfbar, die Konstruktion "T"&([Zeitfeld]) ergibt : TDonnerstag, 1. Januar 1970 19:00 Uhr MEZ
Formatierungen werden im UI der Benutzer-Definition richtig und im Bericht IMMER falsch dargestellt, dort haben Formatierungen keinen Einfluß. Dies ist auch in der ODB bei Robert so.
-- die Konstruktion "M"&right("0"&MINUTE([Zeitfeld]);2) ergibt beim ersten Datensetz einen merkwürdigen Fehler:
--- 020000 wird M-1 dargestellt - 020100 wird richtig als M01 dargestellt - 020001 ebenfalls richtig als M00
--- die nachfolgenden Datensätze/Ausgaben waren bei mir jetzt richtig, aber wie schon im Bericht der Beispiel-DB von Robert zu sehen, tritt der "Sekunden-Fehler" offensichtlich willkürlich auf und führt bei Zeitwerten mit vollen Stunden deshalb wohl gelegentlich zu Fehlern.
m.
-- die Ausgabe "nur" des Feldes Zeitfeld mit der Formatierung HHMMSS ist korrekt: 190000
-- diese Ausgabe ist nicht verknüpfbar, die Konstruktion "T"&([Zeitfeld]) ergibt : TDonnerstag, 1. Januar 1970 19:00 Uhr MEZ
Formatierungen werden im UI der Benutzer-Definition richtig und im Bericht IMMER falsch dargestellt, dort haben Formatierungen keinen Einfluß. Dies ist auch in der ODB bei Robert so.
-- die Konstruktion "M"&right("0"&MINUTE([Zeitfeld]);2) ergibt beim ersten Datensetz einen merkwürdigen Fehler:
--- 020000 wird M-1 dargestellt - 020100 wird richtig als M01 dargestellt - 020001 ebenfalls richtig als M00
--- die nachfolgenden Datensätze/Ausgaben waren bei mir jetzt richtig, aber wie schon im Bericht der Beispiel-DB von Robert zu sehen, tritt der "Sekunden-Fehler" offensichtlich willkürlich auf und führt bei Zeitwerten mit vollen Stunden deshalb wohl gelegentlich zu Fehlern.
m.
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: Bericht: Funktion Minute funktioniert nicht
Hallo Robert,
Was bleibt ist die falsche Berechnung der Sekunden. Offenbar werden die Laufzeiten abgezogen...
Würde mich freuen, wenn Du da irgendetwas erreichen würdest. Komisch nur, dass andere Nutzer nichts reklamierten oder doch?
Gruß
Pit
Pit Zyclade hat geschrieben: 1. Der Formatcode allein MM und auch nur M oder kleingeschrieben mm funktioniert nicht (!), HH oder SS aber schon
Du hast aber schon in der Hilfe das Beispiel gelesen? Dort wird nämlich entgegen der zuvor gemachten Erklärung, wo kleine Buchstaben bei Zeitcode gelistet werden, Großbuchstaben verwendet. (So etwas dürfte aus didaktischen Gründen niemals vorkommen).RobertG hat geschrieben:Da scheint die Formatierung in der Tat Probleme zu haben. Nach Formulierung in der Hilfe müsste mit mm der konkrete Wert kommen. Das wird leider zu MM und damit zum Monatswert umgewandelt.
Pit Zyclade hat geschrieben: 2. eine Formel MINUTE([Zeitfeld]) oder SECOND([Zeitfeld]) sogar mit Formatcode HH:MM:SS bringt nur Nullwerte.
Als Zahl "00" geht es schon. Aber Dank für den Hinweis. So wird man klüger.RobertG hat geschrieben: Das Ergebnis ist keine Zeit, sondern lediglich eine Zahl. Lässt Du Dir das als Zahl anzeigen, so werden 0-Werte nicht angezeigt. Bei der Formatierung als Text jedoch schon.
Was bleibt ist die falsche Berechnung der Sekunden. Offenbar werden die Laufzeiten abgezogen...

Würde mich freuen, wenn Du da irgendetwas erreichen würdest. Komisch nur, dass andere Nutzer nichts reklamierten oder doch?
Gruß
Pit
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: Bericht: Funktion Minute funktioniert nicht
Hallo Martin,
(siehe Bericht 2 in der beigefügten Datenbank.)
Nachtrag:
Korrekt aber nur in LO 4.4.7.2, nicht aber in AOO 4.1.2. In letzterer führen die beiden ersten Datensätze zu Fehlern, statt 00 bei Minute() 01 und in Deiner Formel entsteht wird M01, statt 09 wird bei Minute() 10 und bei Deiner Formel M10 angezeigt. Höhere Werte hingegen werden korrekt behandelt.
Ja, die Verknüpfung führt immer dazu, dass das Zeitfeld als Datum formatiert wird, leidermhonline hat geschrieben: -- diese Ausgabe ist nicht verknüpfbar, die Konstruktion "T"&([Zeitfeld]) ergibt : TDonnerstag, 1. Januar 1970 19:00 Uhr MEZ
Bei mir wird der Bericht korrekt dargestellt, d.h. immer M mit der korrekten zweistelligen Minute verknüpftmhonline hat geschrieben: -- die Konstruktion "M"&right("0"&MINUTE([Zeitfeld]);2) ergibt beim ersten Datensetz einen merkwürdigen Fehler:
--- 020000 wird M-1 dargestellt - 020100 wird richtig als M01 dargestellt - 020001 ebenfalls richtig als M00
--- die nachfolgenden Datensätze/Ausgaben waren bei mir jetzt richtig, ...
(siehe Bericht 2 in der beigefügten Datenbank.)
Nachtrag:
Korrekt aber nur in LO 4.4.7.2, nicht aber in AOO 4.1.2. In letzterer führen die beiden ersten Datensätze zu Fehlern, statt 00 bei Minute() 01 und in Deiner Formel entsteht wird M01, statt 09 wird bei Minute() 10 und bei Deiner Formel M10 angezeigt. Höhere Werte hingegen werden korrekt behandelt.
- Dateianhänge
-
- base - Testdatenbank mit Zeitfeld 3.zip
- *.zip in *.odb umbenennen
- (16.24 KiB) 216-mal heruntergeladen
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Bericht: Funktion Minute funktioniert nicht
Hallo *,
ich habe jetzt die fehlerhafte Berechnung der Sekunde als Bug weiter gegeben. Dabei ist mir aufgefallen, dass ich etwas Ähnliches bereits für die Minuten gemacht hatte - das wurde von Julien für die letzten 4.4-Versionen und ab 5.0 gefixt:
https://bugs.documentfoundation.org/sho ... i?id=97462
--- und noch einmal der Hinweis: Macht Berechnungen der Zeit, auch die Anwendung von Funktionen wie SECOND(), in der Abfrage/Ansicht, auf die der Report-Builder aufbaut. Kombinationen von Textfeldern, Text und Datum usw. können ebenfalls dort erstellt werden. Mutet dem Report-Builder möglichst wenig zusätzliche Funktionen zu. Der Report-Builder hat mit der Erstellung des Dokumentes so schon genug zu tun. ---
Gruß
Robert
ich habe jetzt die fehlerhafte Berechnung der Sekunde als Bug weiter gegeben. Dabei ist mir aufgefallen, dass ich etwas Ähnliches bereits für die Minuten gemacht hatte - das wurde von Julien für die letzten 4.4-Versionen und ab 5.0 gefixt:
https://bugs.documentfoundation.org/sho ... i?id=97462
--- und noch einmal der Hinweis: Macht Berechnungen der Zeit, auch die Anwendung von Funktionen wie SECOND(), in der Abfrage/Ansicht, auf die der Report-Builder aufbaut. Kombinationen von Textfeldern, Text und Datum usw. können ebenfalls dort erstellt werden. Mutet dem Report-Builder möglichst wenig zusätzliche Funktionen zu. Der Report-Builder hat mit der Erstellung des Dokumentes so schon genug zu tun. ---
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: Bericht: Funktion Minute funktioniert nicht
Nachklapp II
-- das Problem der Führenden Null läßt sich nur lösen, wenn der Ausdruck am Ende als Text behandelt wird
um ein vernünftiges Ergebnis zu bekommen ist es deshalb notwendig, für diesem Fall dem Zeitfeld eine Funktion (Hour oder Minute)
voranzustellen, und dann (vom nicht sichtbaren) String die letzten zwei Ziffern zu übernehmen
-- ZEIT wird intern als Dezimalwert des Bruchteils eines Tages gespeichert - so wie im Handbuch beschrieben
die Konstruktion:
right("0"&Minute(([Zeitfeld])+0.00001);2)
löst das Problem und kommt zum richtigen Ergebnis (man beachte den Dezimalpunkt)
m.
-- das Problem der Führenden Null läßt sich nur lösen, wenn der Ausdruck am Ende als Text behandelt wird
um ein vernünftiges Ergebnis zu bekommen ist es deshalb notwendig, für diesem Fall dem Zeitfeld eine Funktion (Hour oder Minute)
voranzustellen, und dann (vom nicht sichtbaren) String die letzten zwei Ziffern zu übernehmen
-- ZEIT wird intern als Dezimalwert des Bruchteils eines Tages gespeichert - so wie im Handbuch beschrieben
die Konstruktion:
right("0"&Minute(([Zeitfeld])+0.00001);2)
löst das Problem und kommt zum richtigen Ergebnis (man beachte den Dezimalpunkt)
m.
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: Bericht: Funktion Minute funktioniert nicht
Nö. Formatierung "00" geht ebenfalls und man benötigt keine Formel (siehe in meinem Beispiel Bericht 2 der dritten db unter minute() )mhonline hat geschrieben:-- das Problem der Führenden Null läßt sich nur lösen, wenn der Ausdruck am Ende als Text behandelt wird
um ein vernünftiges Ergebnis zu bekommen ist es deshalb notwendig, für diesem Fall dem Zeitfeld eine Funktion (Hour oder Minute)
voranzustellen, und dann (vom nicht sichtbaren) String die letzten zwei Ziffern zu übernehmen
Das aber sieht nach einem Rundungsfehler aus. Solche Forderungen sind weder exakt, noch zu fördern, sondern nur eine Krücke. Wenn minute() die Minute herauslöst, dann muss die Zahl genau so sein, wie unter zeitfeld eingegeben.mhonline hat geschrieben: -- ZEIT wird intern als Dezimalwert des Bruchteils eines Tages gespeichert - so wie im Handbuch beschrieben
die Konstruktion:
right("0"&Minute(([Zeitfeld])+0.00001);2)
löst das Problem und kommt zum richtigen Ergebnis (man beachte den Dezimalpunkt)
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Bericht: Funktion Minute funktioniert nicht
Nachklapp III
die in dem anderen Thread unter http://www.libreoffice-forum.de/viewtop ... 10&t=15884 vorgestellte Lösung "ZEITAUFGABE" funktioniert leider nicht.
1. TO_CHAR als Funktion und die Formatierung HH24MISS funktionieren, stehen allerdings nicht im Base-Handbuch. Würd mich mal interessieren, wo die herkommen.
-- TO_CHAR wertet keine nachfolgenden und geklammerten Ausdrücke aus , der Ausdruck TO_CHAR(HOUR("Zeitfeld")) funktioniert nicht
-- die Formatierenung HH24MISS funktioniert nur im Zusammenhang mit TO_CAST - sonst - zB in anderen Ausdrücken - nicht
2. Im Prinzip ist der Versuch charmant, alle Operationen im SQL vorzunehmen und in ein Virtuelles Feld zu packen. Leider funktioniert das nicht.
Zwar werden bei der Ausgabe in ODT die Variablen richtig dargestellt, dann gibt es allerdings das Steiten-Kopf/-Fuß-Problem.
Bei der Ausgabe in ein ODS werden die Zeilenumbrüche im SQL nicht ausgewertet und es entsteht ein unbrauchbarer Bandwurmstring
Zur Lösung müssen virtuelle Felder jeweils nur für eine Zeile angelegt werden.
3. die Konstruktion "Zeitfeld", 'HH24MISS' kann keine führenden Nullen darstellen aus 08:00:00 wird 80000 - das geht nicht
Der Lösungsvorschlag ist:
TO_CHAR( "Datumsfeld", 'YYYYMMDD' ) || 'T' || RIGHT( '0' || HOUR( "Zeitfeld" ), 2 ) || RIGHT( '0' || MINUTE( "Zeitfeld" ), 2 ) || '00Z' AS TIMESTAMP
m.
die in dem anderen Thread unter http://www.libreoffice-forum.de/viewtop ... 10&t=15884 vorgestellte Lösung "ZEITAUFGABE" funktioniert leider nicht.
1. TO_CHAR als Funktion und die Formatierung HH24MISS funktionieren, stehen allerdings nicht im Base-Handbuch. Würd mich mal interessieren, wo die herkommen.
-- TO_CHAR wertet keine nachfolgenden und geklammerten Ausdrücke aus , der Ausdruck TO_CHAR(HOUR("Zeitfeld")) funktioniert nicht
-- die Formatierenung HH24MISS funktioniert nur im Zusammenhang mit TO_CAST - sonst - zB in anderen Ausdrücken - nicht
2. Im Prinzip ist der Versuch charmant, alle Operationen im SQL vorzunehmen und in ein Virtuelles Feld zu packen. Leider funktioniert das nicht.
Zwar werden bei der Ausgabe in ODT die Variablen richtig dargestellt, dann gibt es allerdings das Steiten-Kopf/-Fuß-Problem.
Bei der Ausgabe in ein ODS werden die Zeilenumbrüche im SQL nicht ausgewertet und es entsteht ein unbrauchbarer Bandwurmstring
Zur Lösung müssen virtuelle Felder jeweils nur für eine Zeile angelegt werden.
3. die Konstruktion "Zeitfeld", 'HH24MISS' kann keine führenden Nullen darstellen aus 08:00:00 wird 80000 - das geht nicht
Der Lösungsvorschlag ist:
TO_CHAR( "Datumsfeld", 'YYYYMMDD' ) || 'T' || RIGHT( '0' || HOUR( "Zeitfeld" ), 2 ) || RIGHT( '0' || MINUTE( "Zeitfeld" ), 2 ) || '00Z' AS TIMESTAMP
m.
Re: Bericht: Funktion Minute funktioniert nicht
Hallo mhonline,
Da mit LO die Version 1.8 ausgeliefert wird, habe ich nur die Funktionen verarbeitet, die auch in der Beschreibung zu 1.8 auftauchen.
Gruß
Robert
Die Funktion taucht in der Beschreibung zur HSQLDB 1.8 (siehe http://hsqldb.org/doc/guide/ch01.html, insbesondere http://hsqldb.org/doc/guide/ch09.html) nicht auf. Sie gehört offiziell zu HSQLDB 2.0 (siehe http://www.hsqldb.org/doc/2.0/guide/bui ... chapt.html).mhonline hat geschrieben: 1. TO_CHAR als Funktion und die Formatierung HH24MISS funktionieren, stehen allerdings nicht im Base-Handbuch. Würd mich mal interessieren, wo die herkommen.
Da mit LO die Version 1.8 ausgeliefert wird, habe ich nur die Funktionen verarbeitet, die auch in der Beschreibung zu 1.8 auftauchen.
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
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.