A.S.C Filtre, Grafik ve Raporlama Eklentisi

[SORGU] Stokda Yürüyen Bakiye
#1
MERHABA
Tabloda  STOKNO ve KALAN adında  2 sütün var

benim istediğim STOKNO ya göre guruplayarak kalan 1000  den çıkarıp yürüyen bakiye gibi alt alta hesaplaması 


örneğin
1000 sabit rakam

STOKNO    KALAN         BAKIYE 
1                100                900
1                  50                850
1                  20                830

2                  10                990
2                  20                970
2                  20                950


yardımlarınız için şimdiden teşekürler...



  Alıntı
Bu mesajı beğenenler:
#2
programınıza ekteki gibi uygulama yapabilirsiniz 
Devirli Bakiye ya da başka bir adlandırmayla Yürüyen Bakiye (Running Sum) için öncelikle hesap ekstresini alacağımız firmaya ait kayıtları ayrıştırıp ayrı bir tabloya aktaracak sorguyu oluşturuyoruz...
SELECT

Hareket.HrkID,

Hareket.Firma,

Hareket.Aciklama,

Hareket.Rakam,

IIf([HarTuruID]=2,[Rakam],[Rakam]*(-1)) AS Bakiye INTO HesapAyirma

FROM

Firma INNER JOIN (HarTuru INNER JOIN Hareket ON HarTuru.HarTuruID = Hareket.HarTuru) ON Firma.FirmaID = Hareket.Firma;


[img=726x347]file:///C:/Users/E_EVIK~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg[/img]
Burada kullanılan bir deyim var;

Bakiye: IIf([HarTuruID]=2;[Rakam];[Rakam]*(-1))

Eğer hareket türü 2, yani "Alacak" ise, rakamı aynen kullan. Diğer durumda ise yani "Borç" ise rakamı -1 ile çarparak negatif sayıya çevir... (Burada mantığı ters kurmuş olabilirim o yüzden kullanmadan önce kontrol etmenizde fayda var[img=17x17]file:///C:/Users/E_EVIK~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif[/img])

Sonraki adımda ise başka bir sorgu ile ayrıştırdığımız kayıtları hesap ekstresi haline getireceğiz...

SELECT

HesapAyirma.HrkID AS TempID,

HesapAyirma.Firma,

HesapAyirma.Aciklama,

Sum(HesapAyirma.Bakiye) AS SumOfBakiye,

Val(DSum("[Bakiye]","HesapAyirma","[HrkID]<=" & [TempID] & " ")) AS DevirliBakiye



FROM HesapAyirma



GROUP BY HesapAyirma.HrkID, HesapAyirma.Firma, HesapAyirma.Aciklama, HesapAyirma.HrkID, HesapAyirma.Rakam;


[img=728x355]file:///C:/Users/E_EVIK~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.jpg[/img]
TempID' nin bulunma sebebi şu; önceki hareketleri de hesaba katarak DSUM içerisinde o anda bulunduğumuz ID' ye kadar olan bütün kayıtların toplamını hesaplatabilmek için ikinci bir ID tanımlıyoruz...

Sonra asıl formülümüze sıra geliyor...

DevirliBakiye: Val(DSum("[Bakiye]";"HesapAyirma";"[HrkID]<=" & [TempID] & " "))

Yapılan işlemin açıklaması ise şöyle; yukarıda izah ettiğimiz mantıkla, tablomuzdaki rakamlardan bulunduğumuz satıra kadar olanların hepsini toplayarak gel, aktif satırı da bu değere ekle... rakamı daha önce + ya da - hale getirdiğimiz için de, bakiyemiz +' ya veya -' ye dönebiliyor böylece...
Sonuç ise şunun gibi oluyor...

[img=472x212]file:///C:/Users/E_EVIK~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg[/img]

Elde edilen sonuçta son sütuna dikkat ederseniz o satırdaki rakama gelene kadar SumOfBakiye sütunu toplanarak geliyor ve o satırdaki değer de toplama ekleniyor... 

Son satırda ise bu müşteriden 650 TL alacaklı olduğumuz sonucunu çıkarıyoruz...

Örnek çalışmanın olduğu dosyayı da indirip inceleyebilirsiniz...

Ekteki dosyada sonucu alabilmek için önce Hes_Eks_Tb sorgusunu, sonra da HesapEkstresi sorgusunu sırasıyla çalıştırmanız gerekiyor...


Eklenti Dosyaları
.rar   Devirli Bakiye.rar (Boyut: 81,97 KB / İndirilme: 15)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [SORGU] Dört Tablodan Liste kutusuna veri çağırma ve Yürüyen bakiye takip sistemi the.bykus 3 1.699 18-02-2021, 16:14
Son Mesaj: Lidervet
  [SORGU] Yürüyen Bakiye Yapamama bysea 4 249 10-07-2020, 10:52
Son Mesaj: dsezgin
access-sql-11 [FORM] STOK BAKİYE DEPOYA GÖRE SEÇİLEREK ARAMA YARDIM ahmetbal 7 1.012 07-05-2019, 08:50
Son Mesaj: ahmetbal
  [SORGU] Sorguda Bakiye Sorunu sadiksadik 3 681 15-10-2018, 00:07
Son Mesaj: sadiksadik
  [VBA] Bakiye Bilmecesi EminA 5 1.368 28-04-2017, 08:35
Son Mesaj: EminA
  [SORGU] Devirli bakiye sorgudaki yavaşlık nasıl düzeltebiliriz sonerdursun 8 2.680 17-03-2017, 18:51
Son Mesaj: sonerdursun
  [SORGU] Çalışma gününe göre yürüyen termin tarihi belirleme brsknm 6 2.765 26-11-2016, 10:53
Son Mesaj: brsknm
  [SORGU] Sorguda yürüyen bakiye sorunu. Mecnun24 4 1.852 11-11-2016, 21:21
Son Mesaj: Mecnun24

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi