[gelöst] Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

Re: Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

von mtsfja » Mi, 02.12.2015 09:29

Hallo Robert, Hallo Rik,

vielen Dank für die schnelle(n) und hilfreiche(n) Antwort(en).

Gruß
Mattes

Re: Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

von RobertG » Di, 01.12.2015 20:04

Hallo Rik,

ich mache dazu eine Bugmeldung bei LO auf - bezogen am besten auf das Datumsfeld im Formular, wenn nicht irgendwer sonst da etwas anders sieht ...

Gruß

Robert

Re: Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

von F3K Total » Di, 01.12.2015 19:55

Hallo Robert,
ja, das ist mir auch aufgefallen. Witzigerweise fehlen die zwei Tage nur in einem Datumsfeld, was ich deswegen gewählt habe, weil man es "aufklappen" kann.
In einem formatierten Feld, das zum Datum formatiert wurde, funktioniert der 30.12.1899.
Gruß Rik

Re: Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

von RobertG » Di, 01.12.2015 19:50

Hallo F3K Total,

ich war erst einmal irritiert aufgrund des Bezugsdatums 1900-01-01. Im Handbuch habe ich nämlich als Ersatz stehen:

Code: Alles auswählen

SELECT "Datum", DATEDIFF('dd','1899-12-30',"Datum")+21 AS "RueckDatum" FROM "Tabelle"
Das berechnet den Unterschied zum vorgegebenen Datum und gibt eben eine Integer-Zahl aus, die in der Abfrage das korrekte Datum anzeigt.

Öffne ich die Tabelle mit den Integer-Einträgen Deiner Testdatenbank mit LO 4.4.7.2 und stelle als Formatierung für die Werte das Datum ein, dann erhalte ich ein Datum, das nicht mit dem übereinstimmt, das im Formular aufgeführt wird. DATE_INT im Formular zeigt den 3.12.15 an. DATE_INT in der Tabelle zeigt den 1.12.15 an.
Da scheinen wir gerade wieder einen Bug auszugraben, der übrigens genauso in AOO 4.1.2 vorhanden ist.

Gruß

Robert

Re: Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

von F3K Total » Di, 01.12.2015 17:42

Hi,
wenn du Base mit der "mitgelieferten, eingebetteten HSQLDB" verwendest, geht date_add nicht.
Du siehst es unten in der BASE Statusleiste, links, da steht eingebettete Datenbank HSQL Datenbank-Engine.
Es gibt aber einen Workaround:
Statt mit einer Datumsspalte zu arbeiten, verwendet man eine Integer-Spalte für das Datum. Dann kann man leicht addieren und subtrahieren. Siehe Beispiel anbei.
Wenn du allerdings dann noch den Bezug zu HEUTE reinrechnen möchtest, mußt die HEUTE als INTEGER erzeugen.
Das geht mit

Code: Alles auswählen

DATEDIFF('DD',1900-01-01,CURRENT_DATE)
Ist aber in einer Abfrage über viele Datesätze sehr langsam, darum habe ich das Datum in der Ansicht V_HEUTE einzeilig abgefragt, um es dann als Unterabfrage in die Hauptabfrage Q_TESTDATEN einzubauen.

Gruß R
Dateianhänge
Workaround_DATEADD.odb
(14.63 KiB) 228-mal heruntergeladen

[gelöst] Base Abfrage: Datum addieren (Date_ADD) und mit DATE_DIFF 'überprüfen'

von mtsfja » Di, 01.12.2015 16:21

Hallo zusammen,

ich habe mit dem unten stehenden Code ein Problem.

Wenn ich die Abfrage starte bekomme ich die Fehlermeldung, dass die DATEADD-Funktion fehlerhaft ist (Acess is denied).
Obwohl diese und weitere in verschiedenen Threads gefundene Schreibweisen angeblich funktionieren sollen, komme ich mit den
Varianten stets zu einer Fehlermeldung.

Grunsätzlich bin ich daran interessiert die Fälligkeit (Datum der Rechnungsstellung + 14 Tage Frist) der Rechnung zu ermitteln.

Code: Alles auswählen

datediff ('dd' , 
DATEADD ('dd', "14" , "Rechnungen"."Datum") , 
 current_date) 
>1

Vielen Dank im Voraus

Nach oben