SqlOdeme sorgusu tek taraflı para hareketleri tablosunu 2 taraflı hale getirmek için oluşturuldu
mesela :
- ali, veliye 1 eylülde 40 lira verdi
bu kaydı 2 kayda dönüştürür ve hem
- ali, veliye 1 eylülde 40 lira verdi kaydı
hem de
- veli, aliden 1 eylülde 40 lira aldı kaydını görebiliriz
SqlOdeme sorgusunun kodu
seleCT TblHareket.AlanID AS alan, TblHareket.Trh, TblHareket.Miktar, TblHareket.VerenID AS Veren
FROM TblHareket
UNION ALL SELECT TblHareket.VerenID AS alan, TblHareket.Trh, -1*TblHareket.Miktar, TblHareket.AlanID AS Veren
FROM TblHareket where not isnull(TblHareket.VerenID);
SqlAlVer sorgusu kimin alacağı ve vereceği kalmışsa onları gösterirSqlAlVer sorgusunun kodu
SELECT TblKisi.KisiID, Sum(SqlOdeme.Miktar) AS ToplaMiktar, SqlOdeme.Veren
FROM SqlOdeme INNER JOIN TblKisi ON SqlOdeme.alan = TblKisi.KisiID
GROUP BY TblKisi.KisiID, SqlOdeme.Veren
HAVING (((Sum(SqlOdeme.Miktar))>0) AND ((SqlOdeme.Veren) Is Not Null));
SqlKasa sorgusu o anda kişinin kasasında kaç lira varsa onu gösterirmesela ali'nin önceden hiç parası yoksa ama veli'den 20 lira borç almışsa kasa=20 gösterir.
SqlKasa sorgusunun kodu:
SELECT TblKisi.KisiID, TblKisi.KisiAd, TblKisi.KisiSoyad, Sum(Nz([Miktar],0)) AS Kasa
FROM SqlOdeme RIGHT JOIN TblKisi ON SqlOdeme.alan = TblKisi.KisiID
GROUP BY TblKisi.KisiID, TblKisi.KisiAd, TblKisi.KisiSoyad;
diğer 2si için açıklamaya gerek yok yanılmıyorsam.hatalar ve eksikler varsa belirtirseniz düzeltmeye çalışırım