[Access - SQL] Geburtstage

Krausesh

Mitglied
Guten Abend,

habe folgendes, hoffentlich, kleines Problem. Ich möchte wissen: "Wer hat in den nächsten X Tagen geburtstag? Und, sollte das Formularfeld ausgefüllt sein, wird Y Jahre alt?

Was ich schon habe:


  • Die Abfrage wer wird in den X (wird auch über ein Formularfeld abgefragt) Geburtstag haben.
  • Wie Alt (Age) die Damen und Herren sind.
Was ich nicht habe:
  • Das ermittelte Datum (age) mit 1 subtrarieren und mit dem Geburtstadatum vergleichen.
  • Wenn das Feld "Alter" leer ist (is Null) nur die Datensätze zeigen, die ind den X´ten Tagen geburtstag haben.
Code:
SELECT Abfrage3.ID, Abfrage3.Name, Abfrage3.Grundtext, Abfrage3.Jahr, Abfrage3.Datum, Abfrage3.Hauptart, Abfrage3.Grund, Abfrage3.Seite, Abfrage3.Graduierung, Abfrage3.Vorname, Abfrage3.[Heft Nr], Abfrage3.Jahrgang, Abfrage3.Titel, Abfrage3.Bemerkung, (YEAR(Date())-YEAR(datum)) - (RIGHT(Date(),5)<RIGHT(datum,5)) AS age
  FROM Abfrage3 INNER JOIN Korrektur ON Abfrage3.Grund = Korrektur.Grundzahl
  WHERE ((([baum].[datum]) Is Not Null) AND ((DateSerial(Year(Date()-7),Month([datum]),Day([datum]))) Between (Date()-7) And (Date()+[Formulare]![frm_jub]![wie]))) OR ((([baum].[datum]) Is Not Null) AND ((DateSerial(Year(Date()+200),Month([baum]),Day([datum]))) Between (Date()-7) And (Date()+[Formulare]![frm_jub]![wie])) and (age = 43 ))
  ORDER BY DateSerial(0,Month([datum]),Day([datum]));


  • Datum = Geburtstag
  • [Formulare]![frm_jub]![wie] = wieviel tage soll in die Zukunft geschaut werden?
  • [Formulare]![frm_jub]![Alter] = Wie hoch soll der Geburtstag sein?
Über eure Hilfe würde ich mich sehr freuen. Ich kriegs einfach nicht hin! Er erkennt das "age" nicht. Ich soll es immer eintragen....

vielen Dank im voraus



Krausesh
 
Hallo

ich habe ein Script, dass Dir genau das Alter des Mitarbeiters ermittelt, immer in Bezug auf das akt. Datum. Viell. hilft Dir das weiter in Deiner Verabeitung.

Code:
SELECT
    dob,
    DateDiff
    (
        "yyyy",
        CDate(dob),
        Date()
    )
    - IIF
    (
        DateAdd
        (
            "d",
            Day(dob)-1,
            DateAdd
            (
                "m",
                Month(dob)-1,
                CDate(year(Date()) & "-01-01")
            )
        )
        > date(),
        1,
        0
    ) AS age
FROM
    dobs
 
Zurück