Hallo!

> Was du mit einem View gel�st hast, habe ich mit durch ein festes
> Feld ersetzt, das bei einer Termin�nderung aktualisert wird. Damit 

Ein berechnetes Feld geht so nur in Access. Daf�r sind Views da (gehen
auch in Access!). Ein zus�tzliches Feld ist sehr unperformant, weil dann
die Berechnung bei jedem UPDATE oder INSERT zus�tzlich ausgef�hrt wird.
Mit referentieller Integrit�t f�hrt dann ein INSERT oder UPDATE bei den
Terminen dazu, dass auch immer alle Kurse aktualisiert werden, um das
zus�tzliche Feld zu berechnen. 

> SELECT Kurse.KursID, Termine.StartDatum, Termine.EndDatum, 
> (
>  SELECT MIN(StartDatum) 
>  FROM Termine  
>  WHERE Termine.KursID = Kurse.KursID
> ) 
> AS Kursbeginn
> FROM Kurse 
> INNER JOIN Termine on Termine.KursID = Kurse.KursID 
> ORDER BY Kursbeginn, Termine.StartDatum
> 
> Syntaktisch korrekt, aber sp�ter kennt er "Kursbeginn" nicht mehr.

Um den Kursbeginn in der ORDER BY Klausel zu verwenden, musst Du die
Berechnung komplett in der ORDER BY-Klausel durchf�hren, Du kannst also
nicht einfach auf Ergebnisse in der SELECT-Klausel zur�ckgreifen.
Deshalb die View zur Vermeidung der doppelten Berechnung.

Ich meine ernsthaft, dass allgemein zu wenig Views verwendet werden.
Wenn in einer Datenbank nicht mindestens doppelt so viele Views wie
Tabellen enthalten sind, w�rde ich glatt eine Designschw�che
unterstellen. ;-)

Freundliche Gr��e
Joachim van de Bruck

~~~~~~~~~~~~~~~~~~~~~~~~~~~sponsored by United Planet~~~~~~~~~~~~~~~~~
Intrexx.BizWalker + ODBC/OLEDB-Daten = ASP-Formular
ATTACK! Download Intrexx CRM-Studio Now!   http://www.intrexx.com
_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp

Antwort per Email an