> bis auf die Spalte ArtEuroPreis steht das DBdesign so schon > fest und wird auch gebraucht.
Dann w�rde ich diese Spalte einfach weglassen... Was nicht da ist muss auch nicht geupdatet werden... Die Umrechnungen w�rde ich dann basierend auf den aktuellen Kurs(SELECT TOP 1 * FROM tabCurrRate ORDER BY RateDate DESC) on-the-fly bei der Anzeige machen... Nat�rlich w�rde ich die aktuellen Kurse nicht jedesmal abfragen, sondern 24 h cachen... > Ein Mistvers�ndnis liegt wohl bei der tabCurrRate vor: es > gibt nat�rlich x Eintr�ge, jeden Tag kommt einer hinzu. Das > ist deshalb wichtig, weil sich Angebote die wir machen auf > den tagesaktuellen Wechselkurs beziehen; wenn der Kunde also > heute ein Angebot in $ erh�lt und bei uns der Artikel in YEN > eingekauft wird, so garantieren wir ihm den Preis zum > Angebotstag (au�er die Preisschwankung w�re > 3%) ich muss > also auch noch in 2 Monaten, wenn der Kunde sich entscheiden > sollte, nachsehen k�nnen m�ssen, wie denn am Tag des Angebots > der Kurs Dollar zu Yen war... > > Die Idee mit der ApplicationVariablen hatte ich auch schon, > nur hat mir das nicht so ganz gefallen. > > Was mir helfen w�rde w�re ein Select-statement in dem ich die > auszulesenden Spalten mit einer Unterabfrage vorgeben kann, > also in etwa so: > > select top 1 (select currnameShort from tabCurrency where > currencyID in (select currencyID from tabArtikel ) ) as > myValue from tabCurrRate order by tabCurrRate.RateDate desc > > Das w�rde mir genau einen Wert liefern (top 1) und zwar den > aktuellsten (order by RateDate desc)..... aber es > funktioniert nicht, er spuckt mir dann nur 'YEN' aus oder was > sonst eben im Feld surrNameShort steht.... Das kommt eben davon, das Du die einzelnen W�hrungen als Spaltennamen hast... W�rdest Du zu jedem Datum pro W�hrung einen Eintrag in die tabCurrRate-Tabelle machen h�ttest Du auch mit der Erweiterung auf neue W�hrungen kein Problem... Ich bevorzuge zwar meine erste L�sung(s.o.), weil dann keine redundaten Daten in der DB stehen, aber auch mit getriggerten updates sollte es eigentlich m�glich sein, Du bekommst es eben bloss nicht in einem SQL Statement hin, sondern musst pro W�hrung eine machen... Hilft das weiter? Claudius > > > tabArtikel: > > > ArtID, ArtName, ArtPreis, CurrencyID, ArtEuroPreis > > > 1, 'Fahrrad', 1000, 1, 511.2919 > > > > > > tabCurrency: > > > currencyID, currNameLong, currNameShort > > > 1, 'Deutsche Mark', 'DEM' > > > > > > tabCurrRate: > > > RateID, RateDate, YEN, DEM, USD, GBP > > > 1, '10.10.2001', 110.61, 1.95583, 0.9193, 0.6257 | [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
