🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Base Report Builder - Datenfeld per Formel erstellen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
merlot
Beiträge: 2
Registriert: Do 16. Okt 2014, 20:37

Base Report Builder - Datenfeld per Formel erstellen

Beitrag von merlot » Do 16. Okt 2014, 20:52

Moin zusammen!
Ich versuche die Differenz zweier Datumsfelder (HH:MM formatiert) als Feld in einem Report einzufügen.
Dazu verwende ich die Funktion DATEDIF([VON];[BIS];HH:MM) - Ergebnis negativ, s. Anhang :(
Wie komme ich zum gewünschten Ergebnis?
Danke für jegliche Hilfe!

Gruß aus dem Norden!
Dateianhänge
base_prob.jpg
base_prob.jpg (170.96 KiB) 2547 mal betrachtet

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Base Report Builder - Datenfeld per Formel erstellen

Beitrag von RobertG » Do 16. Okt 2014, 22:10

Hallo Merlot,

Die Funktion "DATEDIF" heißt in Calc "DATUMDIF". Da wird eine Angabe mit "d", "m", "y" erwartet - und ein Datum.
Was sind denn das für Felder, die Du in [VON] und [BIS] stehen hast? Timestampfelder oder Zeitfelder der Datenbank?
Ich würde Dir raten, die Differenz innerhalb der Datenbank in einer Abfrage auszurechnen (dort heißt das dann auch "DATEDIFF" - allerdings mit 2 F). Allerdings musst Du davon ausgehen, dass die Formatierung von Zeiten etwas umständlich ist. Ich habe erst kürzlich daraus lieber in der Abfrage einen Text gemacht als das entsprechend umzuwandeln. das Folgende in einer Abfrage müsste aber gehen:

Code: Alles auswählen

SELECT DATEDIFF('mi',"VON","BIS")/1440.00000 AS "formatierbare_Zeit" FROM "Tabelle"
Durch 1440 musst Du teilen, weil die Zeiten von einem Tag ausgehen. In der Abfrage erscheinen dann Dezimalzahlen mit insgesamt 5 Stellen hinter dem Komma (siehe die Nullen hinter 1440). Lässt Du die Spalte formatieren, so wird daraus eine korrekte Zeit - auch über einen Tag hinaus.

Im Bericht getestet habe ich das jetzt nicht. Schau einfach auch einmal in dem Verzeichnis http://robert.familiegrosskopf.de/lo_hb_dev/ nach. Da ist gerade neu so etwas bei Abfragen hinzugekommen. Ich bastele zwar noch etwas dran, habe das aber jetzt sofort rauf geladen, da das zum Thema passt - auch die Datenbank mit Default_Datum ...

Gruß

Robert
Zuletzt geändert von RobertG am Fr 17. Okt 2014, 20:27, insgesamt 1-mal geändert.
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

merlot
Beiträge: 2
Registriert: Do 16. Okt 2014, 20:37

Re: Base Report Builder - Datenfeld per Formel erstellen

Beitrag von merlot » Fr 17. Okt 2014, 15:08

Hallo Robert!
RobertG hat geschrieben: Was sind denn das für Felder, die Du in [VON] und [BIS] stehen hast? Timestampfelder oder Zeitfelder der Datenbank?
Erst mal ein dickes Dankeschön für die ausführliche Antwort!
Die Felder VON und BIS sind Time-Felder und mit HH:MM formatiert.
Ich lese gerade, dass unter Datenfeld-Typ "Feld oder Formel" entweder ein Feld oder eine _Formel_ einzugeben ist.
Nun ist im engeren Sinn die Funktion DATEDIF ja keine Formel. Vielleicht erwarte ich auch zu viel vom Datenbakmodul.
Andererseits lässt sich der Funktions-Assistent aufrufen, wo eben dies Funktion gewählt werden kann.
Unter Access ist so etwas jedenfalls ein Klacks.

So, dann probiere ich jetzt Deinen Vorschlag...

Gruß
Peter
Dateianhänge
base_prob1.jpg
base_prob1.jpg (41.24 KiB) 2523 mal betrachtet

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Base Report Builder - Datenfeld per Formel erstellen

Beitrag von RobertG » Fr 17. Okt 2014, 20:33

Hallo Peter,

ich hatte in der Formel noch einen Fehler: 'mi' in einfachen Anführungsstrichen ergibt den Text. Ansonsten meint Base, dass es sich um ein Feld handelt.

DATEDIF im Report-Builder ist natürlich eine Formel. Das sind Formeln wie im Tabellenkalkulationsmodul Calc (Formeln siehe: OpenFormula). Der ReportBuilder hat nichts mit der eingebauten Datenbank zu tun. Er liest nur Werte aus der Datenbank. Und die Differenz von Zeiten beherrscht er eben, im Gegensatz zu Calc und in etwas abgespeckter Form auch der eingebauten Datenbank, nicht.

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


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.



Antworten