Hallo!

Datumswerte geh�ren immer in Datemsfelder, sonst bekommst Du fr�her oder
sp�ter �rger. Es gibt definitiv keinen Grund, Datumswerte in mehrere
Spalten oder gar im Textformat zu speichern.

Deine Tabelle hat etwa folgende Felder:
 - id
 - Termin
 - Ort
 - Bezeichnung
 - Details

Wenn Du dann f�r die Ausgabe das Jahr und den Monat extra brauchst,
schreibst Du einfach eine View:
SELECT YEAR(Termin), MONTH(Termin), Termin, ...

Um den n�chsten wichtigen Termin zu markieren, brauchst Du eine
zus�tzliche Spalte, aber nicht in der Tabelle sondern in der VIEW:
SELECT   YEAR(Termin) AS Jahr, MONTH(Termin) AS Monat, DAY(Termin) AS
Tag, 
         Ort, Bezeichnung, Details,
         (t1.id = (SELECT   TOP 1 id 
                 FROM     Termine AS t2
                 WHERE    t2.Termin > GETDATE()
                 ORDER BY Termin ASC)) AS NaechsterTermin
FROM     Termine AS t1
ORDER BY Termin DESC

Die "Spalte" "NaechsterTermin" liefert Dir also 1 oder 0, und zwar 1 f�r
den n�chsten Termin. Durch "TOP 3" k�nntest Du auch die n�chsten 3
Termine herausstellen, egal wieviele zuk�nftige Termine eingegeben
wurden. Wenn Du allerdings die Daten eh in einer Schleife abarbeitest,
w�rde ich dort auch den n�chsten Termin markieren und damit nicht die
Datenbank belasten. Ohne nenneswerte Belastung f�r die Datenbank ist
hier allerdings eine Stored Procedure, die die id des n�chsten Termins
in einer lokalen Variablen speichert, so dass das Sub-SELECT nicht f�r
jede Zeile ausgef�hrt wird.

Freundliche Gr��e
Joachim van de Bruck 


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an