• DİKKAT

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

Sorguda hesaplama yapamıyorum

Bir Rica.

Sn. beab05;

Söz yerine ekli dosyayı ve çok kısa açıklama yolluyorum.
Eksik olmayın siz yanıt verdiğiniz için sürekli size sormak zorunda kaldım. Umarım sizi sıkmamışımdır.

Bu konu iki kişi arasında özel bir konuymuş gibi anlaşılmasın. SQL kodu bana yeterli olur, diye düşünüyorum.Tekrar teşekkürler.
 
Merhaba;

Kod:
SELECT [Ödeme Hareketleri].BölümNo, [Ödeme Hareketleri].GelirTürü, [Ödeme Hareketleri].BorçTarih, [Ödeme Hareketleri].Ödeyeceği, [Ödeme Hareketleri].ÖdemeTarih, [Ödeme Hareketleri].odenen, [Ödeyeceği]-[odenen] AS kalan, IIf(IsNull([Ödeme Hareketleri]![ÖdemeTarih]),(Date()-[Ödeme Hareketleri]![BorçTarih]),([Ödeme Hareketleri]![ÖdemeTarih]-[Ödeme Hareketleri]![BorçTarih])) AS GünFarkı, 0.00333 AS GünFaizOranı, [kalan]*[dogrugun]*[GünFaizOranı] AS GecZammı, Abs(IIf([kalan]>0,DateDiff("d",Date(),[borçtarih]),(IIf([kalan]=0 And [borçtarih]>[ödemetarih],DateDiff("d",Date(),[borçtarih]),DateDiff("d",[borçtarih],[ödemetarih]))))) AS dogrugun
FROM Oturanlar INNER JOIN [Ödeme Hareketleri] ON Oturanlar.sirano = [Ödeme Hareketleri].BölümNo;

Bu sefer oldu ;)
 
Birikmeli Toplam SQL'inde düzeltme yapabilirmiyiz?

Sn. beab05;

İyi akşamlar. Birikmeli toplam alınması için yazdığınız modül ile SQL kodlarınızı yeterince inceleyememiş ve gecikme faizi konusuna ağırlık vermiştim. Sağolun sayenizde bu konuyu çözdüm.

Birikmeli toplamla ilgili SQL kodlarını yapıştırdıktan sonra bazı eksiklik ve hataların bulunduğunu farkettim.

SELECT Oturanlar.BölümNo, [Ödeme Hareketleri].İşlemNo, Oturanlar.adsoyad, [Ödeme Hareketleri].BorçTarih, [Ödeme Hareketleri].Ödeyeceği, [Ödeme Hareketleri].ÖdemeTarih, [Ödeme Hareketleri].odenen, [Ödeyeceği]-[odenen] AS kalan, DSum("Ödeyeceği","[Ödeme Hareketleri]","İşlemNo <= " & [İşlemNo] & "") AS brködeyeceği, DSum("Odenen","[Ödeme Hareketleri]","İşlemNo <= " & [İşlemNo] & "") AS brködenen, [brködeyeceği]-[brködenen] AS brkkalan, IIf(IsNull([Ödeme Hareketleri]!ÖdemeTarih),(Date()-[Ödeme Hareketleri]!BorçTarih),([Ödeme Hareketleri]!ÖdemeTarih-[Ödeme Hareketleri]!BorçTarih)) AS GF, 0.00333 AS FZO, [kalan]*[GF]*[FZO] AS GZ, fncRunSum(oturanlar.BölümNo,[Ödeyeceği]) AS yenibrkÖdeyeceği, fncRunSum(oturanlar.BölümNo,[odenen]) AS yenibrkÖdenen
FROM Oturanlar INNER JOIN [Ödeme Hareketleri] ON Oturanlar.sirano = [Ödeme Hareketleri].BölümNo
WHERE ((([Ödeyeceği]-[odenen])>0))
ORDER BY Oturanlar.BölümNo, [Ödeme Hareketleri].İşlemNo, [Ödeme Hareketleri].BorçTarih;

İSTENİLEN:
1- SQL kodunda birikmeli toplamın her BölümNo yada adsoyad değiştiğinde 0 (sıfır)’dan başlayarak toplanmasıdır.

2- DSum fonksiyonu ile alınan birikmeli toplam alanlarının, modül kullanılması nedeniyle silinmesi gerekir, değilmi?

3- Gelir Türüne (BDAidat yada BDYakıt) göre örneğin, BDYakıt yada BDAidat 'ı seçtiğimde, yakıt parası ime aidat parasını BölümeNo’ya göre kendi arasında birikmeli toplamı alabilsin.

4- GF, FZO ve GZ alanları SQL kodlarından silinsin.

Dosya ve açıklamalar ekte.

Yardımınızı rica ederim. Sevgi ve saygılarımla.
 
Son düzenleme:
Access dosyası ve açıklaması

Merhabalar;

Hayırlı pazarlar. Birikmeli toplamla ilgili sorunu inşaallah sayenizde hallederiz.

Her şey gönlünüzce olsun.
 
Merhaba;
&#304;yice kafam kar&#305;&#351;t&#305; ama bu sefer sorguda b&#252;y&#252;k de&#287;i&#351;klikler yapt&#305;m. Mod&#252;l&#252; kullanmayal&#305;m, biraz inceleyince g&#246;rd&#252;m ki &#231;ok pratik &#231;ok g&#252;zel ama veri g&#246;r&#252;n&#252;m&#252;nde verilerden birine t&#305;klay&#305;nca t&#252;m veriler de&#287;i&#351;iyor &#231;ok ilgin&#231; bir &#351;ekilde.. Alttaki sorgu tamamen do&#287;rudur, sadece gelir t&#252;r&#252;ne el atmad&#305;m onu da ayr&#305; bir sorguyla &#231;&#246;zmek gerekir san&#305;r&#305;m ayr&#305;ca ayn&#305; sorguda yapmak ta istemedim &#231;&#252;nk&#252; cidden &#231;ok kar&#305;&#351;acak.. Siz alttaki sorguyu inceleyin..

Kod:
SELECT a.b&#246;l&#252;mno, a.i&#351;lemno, a.&#246;deyece&#287;i, a.odenen, a.Bor&#231;Tarih, a.&#214;demeTarih, [&#246;deyece&#287;i]-[odenen] AS kalan, IIf(IsNull([a]![&#214;demeTarih]),(Date()-[a]![Bor&#231;Tarih]),([a]![&#214;demeTarih]-[a]![Bor&#231;Tarih])) AS G&#252;nFark&#305;, 0.00333 AS G&#252;nFaizOran&#305;, Abs(IIf([kalan]>0,DateDiff("d",Date(),[bor&#231;tarih]),(IIf([kalan]=0 And [bor&#231;tarih]>[&#246;demetarih],DateDiff("d",Date(),[bor&#231;tarih]),DateDiff("d",[bor&#231;tarih],[&#246;demetarih]))))) AS dogrugun, [kalan]*[dogrugun]*[G&#252;nFaizOran&#305;] AS GecZamm&#305;, a.GelirT&#252;r&#252;, (Select Sum(&#246;deyece&#287;i)  FROM  [&#214;deme Hareketleri] WHERE  [b&#246;l&#252;mno] =a.b&#246;l&#252;mno and [i&#351;lemno] <=a.i&#351;lemno) AS brk&#246;deyecek, (Select Sum(odenen)  FROM  [&#214;deme Hareketleri] WHERE  [b&#246;l&#252;mno] =a.b&#246;l&#252;mno and [i&#351;lemno] <=a.i&#351;lemno) AS brk&#246;denen, [brk&#246;deyecek]-[brk&#246;denen] AS brkkalan
FROM Oturanlar INNER JOIN [&#246;deme hareketleri] AS a ON Oturanlar.sirano = a.B&#246;l&#252;mNo
WHERE ((([&#246;deyece&#287;i]-[odenen])>0))
ORDER BY a.b&#246;l&#252;mno, a.i&#351;lemno;
 
Teşekkür.

Sn. beab05,

Tam isabet. Ne kadar teşekkür etsem az. Allah razı olsun.
 
Geri
Üst