• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kurlar ve Güncelleme sorgusu

Katılım
3 Nisan 2007
Mesajlar
235
Excel Vers. ve Dili
2003 TR
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?
 
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];
 
Son düzenleme:
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.
 
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...:

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