Seite 1 von 1

Bericht von Abfrage mit DATEDIFF

Verfasst: Do 17. Okt 2019, 10:58
von _jb_
Hallo Allerseits,
ich habe eine Abfrage erstellt, in der SQL Ansicht, die nur Adressen von Personen ausgibt, die Jünger als 7 Jahren sind.

Anscheint gibt es da einen Bug in Base/Firebird, weshalb das nur geht indem "SQL-Befehl direkt ausführen" aktiviert ist.

Die Abfrage schaut in etwa so aus:

Code: Alles auswählen

SELECT "Nachname" || ' ' || "Vorname" "Name",  "Geburtstag" FROM "Mitglieder" WHERE DATEDIFF( year, "Geburtstag", CURRENT_DATE ) < 7
Das Problem ist nun, dass ich mir davon keinen Bericht ausgeben kann. Bekomme die Fehlermeldung: "Syntaxfehler im SQL-Ausdruck".

Gibt es da eine Möglichkeit, das hin zu bekommen?

Re: Bericht von Abfrage mit DATEDIFF

Verfasst: Do 17. Okt 2019, 11:33
von gogo
in den Berichtseigenschaften musst Du als "Art des Inhaltes" SQL-Befehl auswählen, dann das Statement in das Feld "Inhalt" eintragen und unter "SQL-Befehl-analysieren" Nein auswählen. damit wird Dein Statement direkt im Datenbankfile ausgeführt, ohne dass der Treiber irgendetwas interpretiert.

Re: Bericht von Abfrage mit DATEDIFF

Verfasst: Do 17. Okt 2019, 12:12
von nikki
Kann es sein, dass du vor "Name" AS vergessen hast ?


2019-10-17 12_09_18-Bericht von Abfrage mit DATEDIFF - LibreOffice-Forum – Opera.gif
2019-10-17 12_09_18-Bericht von Abfrage mit DATEDIFF - LibreOffice-Forum – Opera.gif (3.1 KiB) 3679 mal betrachtet

Re: Bericht von Abfrage mit DATEDIFF

Verfasst: Do 17. Okt 2019, 12:34
von _jb_
Ich danke euch! Wie gogo meinte musste ich "SQL-Befehl-analysieren" auf nein stellen.

@niki, Der Befehl geht mit AS und ohne.

Re: Bericht von Abfrage mit DATEDIFF

Verfasst: Do 17. Okt 2019, 15:44
von RobertG
Wenn Du jetzt den SQL-Befehl nicht analysieren lässt, dann klappt leider auch nicht mehr die Sortierung.

Da Du mit Firebird arbeitest und die Übernahme von year in DATEDIFF dort zur Zeit nur über die direkte Ausführung des SQL-Befehls geht wäre es ratsam, statt einer Abfrage eine Ansicht zu nutzen.

Grundsätzlich lässt sich mit einer Ansicht im Report-Builder besser arbeiten als mit einer Abfrage. Eine Ansicht nimmt der Report-Builder wie eine Tabelle wahr. Da kann er nichts reindeuteln mit der Analyse des SQL-Befehls. Das erleichtert den anderen Funktionen des Report-Builders den Zugriff auf die Daten und lässt den Prozess schneller ablaufen.

Gruß

Robert

Re: Bericht von Abfrage mit DATEDIFF

Verfasst: Do 24. Okt 2019, 12:36
von _jb_
Sorry, dass ich mich nicht mehr gemeldet hatte!

Das mit der Ansicht klingt sehr gut, konnte diese aber auf die Schnelle so noch nicht hinbekommen. Muss da noch mal genauer nachlesen, wenn ich die Zeit zu habe.

Ich hatte zuvor eine fehlerhafte Installation, dabei ging nur der Berichts-Assistent auf, und nach dem Erstellen ist beim Bearbeiten nicht der Designer aufgehen sondern ein Fenster was nach LibreOffice Writer aussah, dort drin hatte ich eine Tabellenansicht, die war echt praktisch, weil ich dort auch Ränder angeben konnte. Habe jetzt aber alles neu installiert und jetzt geht auch der Designer, allerdings habe ich es darin noch nicht hinbekommen die Daten als zusammenhängende Tabelle zu organisieren.

Grüße

Jonathan

Re: Bericht von Abfrage mit DATEDIFF

Verfasst: Do 14. Nov 2019, 16:07
von RobertG
Was hat das in diesem Thread zu suchen?
Was soll der Anhang darunter?