Funktion für Datum in der Zukunft!
Verfasst: Mi 14. Jun 2017, 18:36
Ich habe mich jetzt wirklich krumm und dumm gesucht, bin aber weder im Handbuch noch bei hsqldb.org fündig geworden. Vielleicht benutze ich aber, wie schon so oft, nicht das richtige Suchwort.
Also, ich habe unten angeführte Abfrage und suche damit die Mitglieder raus, die 10, 25 oder 40 Jahre Vereinsmitglied sind. Ich habe dafür einfach die Geburtstagsformel genommen, unterscheidet sich ja nicht wirklich. Problem ist, CURRENT_DATE hilf mir nicht weiter, ich bräuchte den Zeitraum bis <= 01.03.2018, angezeigt wird mir aber nur der Zeitraum bis heute. Access hat ja reichlich Datumsbefehle nur für Base finde ich nicht das passende.
Bin ich blind oder blöd oder gar beides?
Eigentlich bräuchte ich eine Funktion die mir die zu Ehrenden im Zeitraum 01.04.-01.03. anzeigt. Hintergrund ist, dass wir auf der Hauptversammlung Anfang März immer all diejenigen ehren, die zwischen der vergangenen und der kommenden Hauptversammlungen ein Jubiläum haben. So eine Funktion hat mir ein freundliches Forenmitglied im MS-Office-Forum erstellt (siehe ganz unten), eine Umstellung will mir aber nicht gelingen (und überfordert mich bei weitem)! Robert hatte vorgeschlagen aber auch das bekomme ich nicht zum Laufen.
Also, ich habe unten angeführte Abfrage und suche damit die Mitglieder raus, die 10, 25 oder 40 Jahre Vereinsmitglied sind. Ich habe dafür einfach die Geburtstagsformel genommen, unterscheidet sich ja nicht wirklich. Problem ist, CURRENT_DATE hilf mir nicht weiter, ich bräuchte den Zeitraum bis <= 01.03.2018, angezeigt wird mir aber nur der Zeitraum bis heute. Access hat ja reichlich Datumsbefehle nur für Base finde ich nicht das passende.
Bin ich blind oder blöd oder gar beides?
Code: Alles auswählen
SELECT "Nachname", "Vorname", "Eintrittsdatum", DATEDIFF( 'yy', "Mitglieder"."Eintrittsdatum", CURRENT_DATE ) AS "Mgl.-Dauer" FROM "Mitglieder"
WHERE ( DATEDIFF( 'yy', "Mitglieder"."Eintrittsdatum", CURRENT_DATE ) = 10 OR DATEDIFF( 'yy', "Mitglieder"."Eintrittsdatum", CURRENT_DATE ) = 25 OR DATEDIFF( 'yy', "Mitglieder"."Eintrittsdatum", CURRENT_DATE ) = 40 ) ORDER BY "Eintrittsdatum" ASC
Code: Alles auswählen
"Datum" BETWEEN 2016-03-02 AND 2017-03-01
Code: Alles auswählen
SELECT Mitglieder.*,
DateDiff("yyyy",[eintrittsdatum],
DateSerial(Year(Date())+abs(int(month(date()) > 4)),3,1) )+
(Format( DateSerial(Year(Date())+abs(int(month(date()) > 4)),3,1) ,"mmdd")
< Format([eintrittsdatum],"mmdd")) AS JahreAm1_3
FROM Mitglieder;
Edit:
Ich habe hier vorher unter dackelpack gepostet, leider wurde aber mein Account bei einer Änderung der Emailadresse auf "inaktiv" gesetzt. Trotz mehrfacher Anforderung der Aktivierungsemail ist nichts passiert, bis heute ist keine Email angekommen. Auch eine Email an den Admin hat nichts gebracht, bisher habe ich keine Antwort bekommen!