Wenn ich das richtig sehe, willst Du nur die Geburtstage der n�chsten 7
Tage sehen.  Wenn es tats�chlich so simpel ist, dann frage ich mich
warum Du es komplizierter angehst. 

Erstens die Date-Funktionen kennt die DB genauso. Also warum erst in VB
konstruieren, damit sie hinterher wieder auseinandergenommen werden muss
- wenn die DB das ganze gleich alleine und zudem um vielen schneller
machen kann. 

Zweitens, warum willst Du mit Tag und Monat rumfummeln, wenn die
Datumsfunktionen der DB das vieeeel besser und auch wieder schneller
k�nnen. 

Drittens Datumsfelder sind serielle Zahlen; ihre Einheit ist der Tag.
Wenn ich also ein zuk�nftiges Datum in Tagen brauche, brauche ich nur
die Zahl draufaddieren. Sollte nicht allzu kompliziert sein. 

Dann sieht der SQL String z.B: so aus.   Wird alles zu �bergeben. Das
einzige, was ich vielleicht in VB noch reinkonstruiere ist die Anzahl
der Tage.  Hier im Beispiel 7. Und auch nur, wenn ich mir variabel mal
die f�lligen Geburtstage in 7, 14, 21 Tagen anzeigen lassen will. 

SELECT
  feld1, feld2   (weg mit dem Krampf von *)
FROM
  tabelle
WHERE
  dateserial(year(date), month(gebtag), day(gebtag)) >= date
  AND
  dateserial(year(date), month(gebtag), day(gebtag)) <= date + 7 
ORDER BY
  feldx


Hast Du jetzt nicht Access sondern SQL Server, dann geht es dort
genauso. Nur die Funktionen heissen ein bischen anders.  Ausserdem w�rde
ich mir dort dann eh eine Stored Procedure bauen, die nur noch die
Anzahl der Tage �bergeben kriegt. 


-- 

Viele Gr��e
Hubert Daubmeier 


-----Original Message-----
From: Rolf J�rmann [mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, October 31, 2001 5:36 PM
To: ASP Diskussionsliste fuer Anfaenger
Subject: [aspdebeginners] RE: Geburtstage


Hi Alle,

Ich habe jetzt folgende L�sung die klappt, solange ich Geburtstage
innerhalb eines Monates suche, z.B. vom 5. Okt  - 10. Okt. Aber sobald
ich vom 25. Okt. bis 4. Nov. suche, bricht das Chaos aus. Wie kann ich
das verhindern oder was f�r L�sungen gibt es noch?

datumend = dateadd("d",7,date)
datumstart = dateadd("d",0,date)

sql_command = "SELECT  * FROM mitglieder WHERE day(db_feld) BETWEEN
day(#"&datumstart&"#) AND day(#"&datumend&"#) AND month(db_feld) BETWEEN
month(#"&datumstart&"#) AND month(#"&datumend&"#)"


wenn es via sql nicht gehen wird, das Problem sind immer die
verschiedenen Jahreszahlen, bleibe ich bei meiner umst�ndlichen
IF-abfragen.

Hallo Ralf, deine L�sung konnte ich noch nicht unter die Lupe nehmen.


Gruss an alle und danke f�r die Hilfe bisher.

Rolf



SELECT * From tabelle WHERE
BETWEEN DAY(date) and DAY(date)
AND
BETWEEN MONTH(date) and MONTH(date)
ORDER BY MONTH(fieldname),DAY(fieldname)

brachte ich irgendwie noch nicht zum laufen.



| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [EMAIL PROTECTED] subscribed 
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv Sie 
| knnen sich unter folgender URL an- und abmelden: 
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp


| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp

Antwort per Email an