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