Herausfinden, wer Geburtstag hat

Hallo!

Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet.
Ich habe eine Tabelle Gast, die schaut folgendermaßen aus:
CREATE TABLE Gast
(
GastID NUMBER NOT NULL,
Name TEXT NOT NULL,
Geb_Datum DATE NOT NULL,
PRIMARY KEY (GastID),
);

Jetzt müsste ich eine Query schreiben, die jene Gäste ausgibt, die heute Geburtstag haben. Ich weiß, dass es die Funktion DATE() gibt, die mir das aktuelle Datum liefert (z.B. 31.05.2006), aber jetzt müsste ich das aktuelle Datum mit dem Datum in der Tabelle Gast vergleichen (aber ohne die Jahreszahlen) um draufzukommen, wer heute Geburtstag hat.
Ich hoffe, dass ich mich klar ausgedrückt haben!

Danke im Voraus!

Hallo Marcus

Jetzt müsste ich eine Query schreiben, die jene Gäste ausgibt,
die heute Geburtstag haben. Ich weiß, dass es die Funktion
DATE() gibt, die mir das aktuelle Datum liefert (z.B.
31.05.2006)

genau, und es gibt noch viel mehr Funktionen, z.B. diese:
MID(Geburtsdatum,1,5) zieht dir die ersten 5 Ziffern aus dem Datum raus:

1-2-.-0-9-.-1-9-9-0
1-2-3-4-5-6-7-8-9-10

Wichtig: die Punkte immer mitzählen!!

mit dieser Funktion würdest du dann ein True / False Ergebnis bekommen:

hatheuteGeburtstag = iif(MID(Geburtsdatum;1;5) = MID(datum();1;5);True;False)

Grüße aus Essen
Wolfgang

Hallo Markus, Wolfgang

warum so kompliziert…

Einfach eine Abfrage auf die Tabelle erstellen, in diese Abfrage zusaetzlich 1 Feld einfuegen:
Geb_Dat_heute:iif(Format(Geb_dat;‚ttmm‘) = Format(Now();‚ttmm‘);„JA“;„NEIN“)

Ich hoffe ich habe keine Syntaxfehler eingebaut, da ich das gerade so runtergetippt habe ohne auszuprobieren, aber der Ansatz sollte tun.

Tschau
Peter

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

Hallo Markus,

Name TEXT NOT NULL,

Name ist in den meisten Datenbanksystem und Programmiersprachen ein reserviertes Wort. Es ist immer anzuraten, bei der Benennung von Feldern, sei es in der Tabelle oder im Formular/Bericht, darauf zu achten entsprechend abweichende Namen zu vermeiden.

Bsp. VBA:

Me!Name
where Datepart(„d“,date()) = Datepart(„d“,Geb_Datum) AND
Datepart(„m“,date()) = Datepart(„m“,Geb_Datum)

Gruß
Daniel Scholdei

Vielen Dank an alle!
Es funktioniert!

Grüße Markus