Abfrage Geburtstagsgrüße

Hallo,

ich möchte gerne eine Abfrage starten, die mir alle Geburtsdaten ausgibt, die 5 Tage nach dem aktuellen Datum (also z.B. heute 04.12.2007, alle Kunden die am 09.12. Geb.tag haben)ausgibt.
Problem wie umgeht man denn die Jahreszahl, alle Geb.daten sind natürlich mit entsprechendem Geburtsjahr in der Datenbank!? Ich kann also nicht einfach eigeben > Heute() oder Datum() sonst geht es ja immer auf das aktuelle Jahr 2007!? Wie gibt mann die Abfrage in die Tabelle ein??
Ich hoffe, ihr versteht was ich möchte und habt ein paar Tipps!?
Danke

Mel K

Moin, Mel,

date liefert tt.mm.jjjj, left(date,2) den Tag. Für Geburtstag as Date machst Du das gleiche.

Gruß Ralf

Hallo Mel,

wie bei allen Datumsabfragen ist das natürlich ein wenig komplizierter.

In der Abfrage gibst Du ein in der Zeile „Feld“
Am: DatSeriell(DatTeil(„jjjj“;DatAdd(„t“;Jetzt();5));DatTeil(„m“;[GebDatum]);DatTeil(„t“;[GebDatum]))

Dabei musst du vorher [GebDatum] durch den Namen der Spalte Deiner Tabelle ersetzen, die das Geburtsdatum enthält.

in die Zeile „Kriterien“ gibst Du ein:
DatAdd(„t“;Jetzt();5)

Die obige Funktion rechnet von Heute +5 Tage, und nimmt daraus das Jahr (falls wir über die Jahresgrenze geraten), und baut mit dem Monat und dem Tag des Geburtsdatums den Geburtstag dieses Jahr zusammen.
Und der soll ja gleich sein, dem heutigen Datum +5 Tage, das ist das Kriterium.

Du musst aber in der Abfrage auch [Geburtsdatum] ist nicht Null abfangen, weil sonst keine Ergebnisse zurückgeliefert werden.

Grüße
Marcus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]