• DİKKAT

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

Sorguda kullanılan bir değişkenin, başka bir değişkende kullanılması

Katılım
3 Nisan 2007
Mesajlar
235
Excel Vers. ve Dili
2003 TR
Soru10.gif


Fark değişkeni: [USD SATIŞ] - [USD ALIŞ] tır
Dene değişkeni: "Fark" değişkeni + 1 olacaktır. Ancak olmuyor hatam nedir, teşekkürler.

Sorum ekteki dosyada Sorgu3'tür
 

Ekli dosyalar

Paki şöyle denediniz mi?

Deyim1: [USD SATIŞ]-[USD ALIŞ]+1

İyi çalışmalar
 
Paki şöyle denediniz mi?

Deyim1: [USD SATIŞ]-[USD ALIŞ]+1

İyi çalışmalar

Aslında sorumu örnekle kısaltarak gönderdim. Değişken kullanmak istememin sebebi şu:

ToplamUSD: IIf([SEVK TARİHİ]<Date();[SİPARİS LDOLAR]*[SADET]*[USD SATIŞ];[SİPARİS LDOLAR]*[SADET]*DLast("[USD SATIŞ]";"DvzSonUSD"))

ToplamEUR: IIf([SEVK TARİHİ]<Date();[SİPARİS LEURO]*[SADET]*[EUR SATIŞ];[SİPARİS LEURO]*[SADET]*DLast("[EUR SATIŞ]";"DvzSonEUR"))

KDV: (TL + ToplamEUR + ToplamUSD) + * 0,18 gibi bir şey yapacaktım.
sizin cevabınıza göre şöyle yapmam gerekecek:

([SİPARİS LTL]*[SADET])+(IIf([SEVK TARİHİ]<Date();[SİPARİS LDOLAR]*[SADET]*[USD SATIŞ];[SİPARİS LDOLAR]*[SADET]*DLast("[USD SATIŞ]";"DvzSonUSD"))+ IIf([SEVK TARİHİ]<Date();[SİPARİS LEURO]*[SADET]*[EUR SATIŞ];[SİPARİS LEURO]*[SADET]*DLast("[EUR SATIŞ]";"DvzSonEUR")))*0,18

Bu formülde doğru sonuç döndirmüyor. Çünkü hücrelerde boş (null) olan bölümler var
 
Sayın erkankamilonas,

O zaman boş olan hücrelerin hatasını geçebilmek için Nz fonksiyonunu kullanın.

Nz([SİPARİS LDOLAR];0) ozaman hücre boş yerine 0 olur.

İyi çalışmalar
 
Sorguyu bu kadar karmaşıklaştırmanıza gerek yok aslında,
view lara bölerek daha kolay içinden çıkarsınız. Hem takibi de kolay olur.

Yani, önce temel işleminizi yapan sorgu1 i oluşturun, sonra
sorgu2 içinde sorgu1 i bir tablo gibi kullanın.
 
grupla yerine deyim kullanın

Tüm sonuçlar sıfır çıktı.
Asıl sorgu şu:
SELECT DISTINCT SİPARİS.[SIPARIS NO], SİPARİS.[YMAMÜL TANIMI], SİPARİS.SADET, SİPARİS.[FİRMA KODUGELİR], SİPARİS.[MAMÜL KODU], SİPARİS.[MAMÜL TANIMI], SİPARİS.[SİPARİS TARİHİ], SİPARİS.[TESLIM TARIHI], SİPARİS.[SEVK TARİHİ], SİPARİS.[ÜRETİM TARİHİ], SİPARİS.[SİPARİS LTL], SİPARİS.[SİPARİS LEURO], SİPARİS.[SİPARİS LDOLAR], [SİPARİS LDOLAR]*[SADET] AS USD, [SİPARİS LEURO]*[SADET] AS EUR, [SİPARİS LTL]*[SADET] AS TL, IIf([SEVK TARİHİ]<Date(),[SİPARİS LDOLAR]*[SADET]*[USD SATIŞ],[SİPARİS LDOLAR]*[SADET]*DLast("[USD SATIŞ]","DvzSonUSD")) AS ToplamUSD, IIf([SEVK TARİHİ]<Date(),[SİPARİS LEURO]*[SADET]*[EUR SATIŞ],[SİPARİS LEURO]*[SADET]*DLast("[EUR SATIŞ]","DvzSonEUR")) AS ToplamEUR, SİPARİS.KDV, SİPARİS.[TESLİM TL], SİPARİS.YMAMÜLGRUP, SİPARİS.[ÜRETİM TUTARI], SİPARİS.[FATURA NO], SİPARİS.[FATURA TARİHİ], SİPARİS.[FATURA ACIKLAMASI], SİPARİS.[FATURA TUTARI], SİPARİS.[KKONTROL TARİHİ], SİPARİS.[KKONTROL YAPILDI], SİPARİS.[YI/YD], SİPARİS.[SİPARİS MALZEME], SİPARİS.KAPANIS, First([STOK MALZEMEHAREKET].[TALEP TERMİNİ]) AS [TALEP TERMİNİ], First([STOK MALZEMEHAREKET].[BİRİM FİYATYTLSTH]) AS [BİRİM FİYATYTLSTH], First([STOK MALZEMEHAREKET].[BİRİM FİYATEUROSTH]) AS [BİRİM FİYATEUROSTH], First([STOK MALZEMEHAREKET].[BİRİM FİYATDOLARSTH]) AS [BİRİM FİYATDOLARSTH], First([STOK MALZEMEHAREKET].[SİPARİŞ ADET MALİYETİ]) AS [SİPARİŞ ADET MALİYETİ], First([STOK MALZEMEHAREKET].TEDARİKCİSTH) AS TEDARİKCİSTH, First([STOK MALZEMEHAREKET].TERMİNSTH) AS TERMİNSTH, First([STOK MALZEMEHAREKET].[MALZEME CİNSİSTH]) AS [MALZEME CİNSİSTH], First([STOK MALZEMEHAREKET].[İRSALİYE TARİHSTH]) AS [İRSALİYE TARİHSTH], First([STOK MALZEMEHAREKET].[KAPANIS STH]) AS [KAPANIS STH], First([RED TUTANAK].[RED ADEDİ]) AS [RED ADEDİ], First([RED TUTANAK].[RED TARİHİ]) AS [RED TARİHİ], First([RED TUTANAK].[RED MALZEME]) AS [RED MALZEME], First([RED TUTANAK].[RED TUTAR]) AS [RED TUTAR], First([RED TUTANAK].TEZGAH) AS TEZGAH, First([RED TUTANAK].OPERATOR1) AS OPERATOR1, First([RED TUTANAK].OPERATOR2) AS OPERATOR2, First([RED TUTANAK].[RED NEDENİ]) AS [RED NEDENİ], First([RED TUTANAK].RACIKLAMA) AS RACIKLAMA, FİRMALAR.ÜLKE, [Günlük Kurlar].[EUR SATIŞ], SİPARİS.[ÜRÜN NO], SİPARİS.[YI/YD], [Günlük Kurlar].[USD SATIŞ], ([TL]+[ToplamEUR]+[ToplamUSD])*0.18 AS KDV
FROM (FİRMALAR INNER JOIN ((SİPARİS LEFT JOIN [STOK MALZEMEHAREKET] ON SİPARİS.[ÜRÜN NO] = [STOK MALZEMEHAREKET].[ÜRÜN NOSTH]) LEFT JOIN [RED TUTANAK] ON SİPARİS.[ÜRÜN NO] = [RED TUTANAK].[RÜRÜN NO]) ON FİRMALAR.[FİRMA KODU] = SİPARİS.[FİRMA KODUGELİR]) LEFT JOIN [Günlük Kurlar] ON SİPARİS.[SEVK TARİHİ] = [Günlük Kurlar].TARİH
GROUP BY SİPARİS.[SIPARIS NO], SİPARİS.[YMAMÜL TANIMI], SİPARİS.SADET, SİPARİS.[FİRMA KODUGELİR], SİPARİS.[MAMÜL KODU], SİPARİS.[MAMÜL TANIMI], SİPARİS.[SİPARİS TARİHİ], SİPARİS.[TESLIM TARIHI], SİPARİS.[SEVK TARİHİ], SİPARİS.[ÜRETİM TARİHİ], SİPARİS.[SİPARİS LTL], SİPARİS.[SİPARİS LEURO], SİPARİS.[SİPARİS LDOLAR], [SİPARİS LDOLAR]*[SADET], [SİPARİS LEURO]*[SADET], SİPARİS.KDV, SİPARİS.[TESLİM TL], SİPARİS.YMAMÜLGRUP, SİPARİS.[ÜRETİM TUTARI], SİPARİS.[FATURA NO], SİPARİS.[FATURA TARİHİ], SİPARİS.[FATURA ACIKLAMASI], SİPARİS.[FATURA TUTARI], SİPARİS.[KKONTROL TARİHİ], SİPARİS.[KKONTROL YAPILDI], SİPARİS.[YI/YD], SİPARİS.[SİPARİS MALZEME], SİPARİS.KAPANIS, FİRMALAR.ÜLKE, [Günlük Kurlar].[EUR SATIŞ], SİPARİS.[ÜRÜN NO], SİPARİS.[YI/YD], [Günlük Kurlar].[USD SATIŞ]
HAVING (((SİPARİS.[SEVK TARİHİ]) Between ([Formlar]![Rapor Tarih Aralığı]![İlkTarih]) And ([Formlar]![Rapor Tarih Aralığı]![SonTarih])) AND ((SİPARİS.[FATURA ACIKLAMASI])='PLAN'));
 
Arkadaşlar ilginize teşekkür ediyorum, bu toplama işlemini nasıl yapabileceğim hakkında fikri olan var mı
 
Sayın erkankamilonas,

Kısır bir döngü çizip başa döndük.

Tekrar alanları kullanmak istemiyorsunuz
Deyim1: [USD SATIŞ]-[USD ALIŞ]+1
, ikinci bir sorgu kullanmak istemiyorsunuz
Sorguyu bu kadar karmaşıklaştırmanıza gerek yok aslında,
view lara bölerek daha kolay içinden çıkarsınız. Hem takibi de kolay olur.

Yani, önce temel işleminizi yapan sorgu1 i oluşturun, sonra
sorgu2 içinde sorgu1 i bir tablo gibi kullanın. Dün 11:26

Esas uygulamanızı eklemiyorsunuz. Bu iş nasıl halolacak?
 
Geri
Üst