Kurlar ve Güncelleme sorgusu [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : Kurlar ve Güncelleme sorgusu


erkankamilonas
21-08-2008, 13:25
UPDATE [Günlük Kurlar] INNER JOIN SİPARİS ON [Günlük Kurlar].TARİH = SİPARİS.[TESLIM TARIHI] SET SİPARİS.[TESLİM TL] = [Günlük Kurlar].[USD SATIŞ]*SİPARİS.[SİPARİS LDOLAR]*SİPARİS.SADET
WHERE (((SİPARİS.[SİPARİS LDOLAR])>0));İki adet tablom var biri; Günlük kurların tutulduğu [Günlük Kurlar] tablosu, diğeri Sipariş verilerinin bulunduğu [SİPARİS] tablosu.

Bilgi1:
[SİPARİS] tablosundaki SİPARİS.HESAPTL sütununı SİPARİS.[TESLIM TARIHI]ne göre [Günlük Kurlar].[EUR SATIŞ] ile çarparak güncelliyorum.

Bilgi2:
SİPARİS.[TESLIM TARIHI] günün tarihinden (Bugün 21/08/2008 ise) büyük olabiliyor. Böylece 22/08/2008 veya 23/08/2008 gibi tarihlere sahip olan tarihlerde güncelleme yapılamıyor.

Soru: Henüz açıklanmayan kurlar ile ilgili de hesap yapmam gerekiyor. Ne yapmalıyım.

Sonuç: [TESLIM TARIHI] nde henüz bir kur açıklanmamışsa, verilerin açıklanan son tarihe ait kurla çarpılması için ne yapmalıyım?

erkankamilonas
22-08-2008, 10:33
Sorumu birde şöyle sorayım;

[TESLİM TL] = Günlük Kurlar Tablosundaki en büyük tarihe ait USD satış kuru ile * [SİPARİS LDOLAR] çarpımını nasıl yaparım.

En büyük tarihe ait kuru buluyorum ancak Update ile yazdığım komut satırına nasıl ekliyecem?
SELECT Max([Günlük Kurlar].TARİH) AS TARİH, Max([Günlük Kurlar].[USD SATIŞ]) AS [USD SATIŞ]
FROM [Günlük Kurlar];

erkankamilonas
22-08-2008, 11:48
Bir tablo ekleyerek sorumu yeniden sorayım;

İlgili güncelleştirme sorgusu tablodadır. Yapılmasını istediğim işlem ise şudur; Eğer Tablo1'deki tarihlere ait kur henüz açıklanmadı ise, Günlük Kurlar tablosundaki en büyük tarihe ait USD kuru ile çarpma işlemi yapılarak güncelleştirilmeli.

Taruz
22-08-2008, 13:11
Merhaba..

En son tarihli kuru yukarıda bahsettiğiniz şekilde bulamazsınız; yanlış değerler gelir..

Tarihi bugünden sonra olan siparişlerin YTL TUTARI nı Kurlar tablosundaki en son tarihli kur ile güncellemek için önerim...:


UPDATE Tablo1 LEFT JOIN [Günlük Kurlar] ON Tablo1.TARİH = [Günlük Kurlar].TARİH SET Tablo1.[YTL TUTARI] = DLookUp("[USD SATIŞ]","[Günlük Kurlar]","[TARİH]=(select max([TARİH]) from [Günlük Kurlar])")*[USD TUTARI]
WHERE (((Tablo1.TARİH)>Date()));


Özel Arama