Lieber Gerhard,
herzlichen Dank.
du hast nichts davon geschrieben, ob du es mit einer View/Ansicht
probiert hast, wie Robert und ich beide vorgeschlagen haben. Packe
alle Berechnungen einfach da rein.
Doch, das habe ich probiert (und irgendwas dazu auch geschrieben) und
die Abfrage funktioniert richtig. Problem: Ich muss noch vier Felder
jeweils zweimal vom Typ DATE und VARCHAR als Parameter-Abfrage
einbinden. Für das Datum habe ich das (alles noch in DBeaver) inzwischen
geschafft:
WHERE "T Termine"."Datum" >= CAST(CAST(:DatumVON as TEXT) as DATE)
'DATUM als YYYYMMDD eingeben
für die VARCHARs gelingt das nicht:
AND "T PROJKT Daten"."Projekt" = cast(:ProjektBezeichnung as VARCHAR)
oder
AND "T PROJKT Daten"."Projekt" = :ProjektBezeichnung
für Projekt 1070: OK, richtiges Ergebnis
für Projekt ABCD: SQL-Fehler [42703]: ERROR: column "ABCD" does not
exist, entsprechend für AB01
Vielleicht ein Problem: In der "T Termine" gibt es für jeden Datensatz
eine Projekt-ID. In der BASE-Abfrage hole ich den ProjektName aus der "T
PROJKT Daten" die über die Projekt-ID verknüpft ist. Das funktioniert
für die Anzeige, alle Werte werden richtig geliefert. Für die
Dateneingabe im Formular blockiert die Tabellenverknüpfung die Eingabe,
hier muss ich den Projektname mit einem SELECT-Statement in der
Abfrage-Spalte holen. Eventuell muss ich das für den Bericht bzw. das
Parameterfeld auch so machen?
Ein Beispiel in MariaDB, weil ich das ja nicht in PostgreSQL
ausprobieren kann, das musst du entsprechend umschreiben:
SELECT *, TIMEDIFF(tim1, tim2) AS difft, TIME_TO_SEC(TIMEDIFF(tim1,
tim2)) AS diffs FROM michael WHERE id <= 2
Der erste Ausdruck ergibt die Zeitdifferenz in Std:min:sec, der zweite
rechnet das noch in Sekunden um.
So passiert alles schon auf DB-Seite, und die Probleme, die Base
offenbar macht, werden vermieden.
Vorstehender Absatz ist mir klar, der nachfolgende gar nicht:
Wie ich gerade ausprobiert habe, kann der Report-Designer die
Zeitangaben im Format mit den Doppelpunkten per Summe schön addieren,
also sollte dir der erste der beiden Ausdrücke schon ausreichen.
Hier ein aufbereitetes (weil ich hier keine Abbildung einfügen kann)
Ergebnis meines Primitivreports:
1 18:15:18 13:17:17 04:58:01 17881
2 13:07:08 12:05:13 01:01:55 3715
05:59:56 21596
Vielleicht doch ein Screenshot? Ich habe keine Idee, was Du im
Report-Designer machst. Ich hatte schon versucht, dort ein
FormatiertesFeld mit der Formel "Ende" - "Beginn" zu belegen, erfolglos.
Außerdem muss ich ja noch die (Grupen-)Summen über die Dauern ermitteln.
Danke und herzliche Grüße
Michael
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
- Re: [de-users] BASE / In Abfrage Zeitdifferenz berechnen (continued)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.