adi borc alacak bakiye
satış 150 65 85
tahsilat 35 50
tahsilat 50 0;
bu işlemi sql ile yapabilir miyim.
select borc, alacak, borc-alacak+ [önceki bakiye?] as bakiye
nasıl olacak.
bakiye adlı değişken yapıp, on calculate ile oluyor ama gride kayıt ekleyince olaylar bozuluyor..
borc-alacak-bakiye sql ile nasıl hesap?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: borc-alacak-bakiye sql ile nasıl hesap?
sql'le neden yapmaya çalışıyosun. toplama çıkarma yaptırıp değerleri database'e atsan daha kolay/kullanışlı olmaz mı? bence standart toplama çıkarma işlemiyle yaparsan daha hoş olur.poke53280 yazdı:adi borc alacak bakiye
satış 150 65 85
tahsilat 35 50
tahsilat 50 0;
bu işlemi sql ile yapabilir miyim.
select borc, alacak, borc-alacak+ [önceki bakiye?] as bakiye
nasıl olacak.
bakiye adlı değişken yapıp, on calculate ile oluyor ama gride kayıt ekleyince olaylar bozuluyor..
Örnek kullanım:
Kod: Tümünü seç
Query1.fileldbyname('Bakiye').asinteger:=Query1.fileldbyname('Toplam_Borc').asinteger - Query1.fileldbyname('Alinan').asinteger;
Re: borc-alacak-bakiye sql ile nasıl hesap?
Olayı doğru anladıysam, Sen bir takım borc alacak ve bakiye rakamlarını Grid içinde görüntülemek istiyorsun. Ve örnekten anladığım tek tablo içinde tutuyorsun bu kayıtları ve bu yanlış. Örneğin bu bir cari hesap işi isepoke53280 yazdı:adi borc alacak bakiye
satış 150 65 85
tahsilat 35 50
tahsilat 50 0;
Hesaplar tablosu : musteri_no,Musteri_adı, Borc_toplam, Alacak_toplam
Satışlar : musteri_no, satış cinsi vs vs, satis_tutari
Tahsilat : Musteri_no, makbuz_no,......, tahsilat_tutari
şeklinde üç tablo tutman lazım.
Satış ve tahsilat yapıldıkça hesaplar tablosundaki borc-alacak alanlarını trigger ve SP ler yardımıyla otomatik olarak update ettirirsin.
Belki de ben senin örneğini yanlış algıladım, o zaman bu mesajımı çöpe atarsın !
Sevgi, Saygı.....
Tekrar açıklayayım..
Teşekkürler ama ben anlatamadım galiba.
_mesela işlemler tablosunda;
musteri_no, islem_tipi, borc, alacak, birde calculate alan olarak bakiye olsun. bky ise tanımlanmış bir double;
Query1'in oncalculate alanına
olunca, gridden kayıt gireceğim zaman bakiye alanı sürekli üstüne koyuyor. datasource1'in onchange olayında bky:=0 yaptım.olmadı.
sql ile yapabileceksem bunu bilmeliyim.
SELECT Musteri_No, Islem_Tipi, Borc, Alacak, (Borc-Alacak)+Burayakadarki Bakiye as Bakiye from islemler şeklinde yapabilmeliyim.
yani n kayıtına kadar olan bakiyeyi böyle bir select cümlesinde yapabilir miyim merak ediyorum. Söylece sql çalışınca select ile görüntülenecek her borc ve alacaktan sonra buraya kadar olan bakiyeyi alıp sum(borc)-sum(alacak)'a ekleyebilmeliyim.
Ya eski Clipper programlarındaki gibi otomatik bakiye almaya çalışıyorum.
_mesela işlemler tablosunda;
musteri_no, islem_tipi, borc, alacak, birde calculate alan olarak bakiye olsun. bky ise tanımlanmış bir double;
Query1'in oncalculate alanına
Kod: Tümünü seç
begin
query1Bakiye.asFloat:= query1Borc.asfloat + query1Alacak.asFloat+Bky;
bky:= query1bakiye.asfloat;
end;
sql ile yapabileceksem bunu bilmeliyim.
SELECT Musteri_No, Islem_Tipi, Borc, Alacak, (Borc-Alacak)+Burayakadarki Bakiye as Bakiye from islemler şeklinde yapabilmeliyim.
yani n kayıtına kadar olan bakiyeyi böyle bir select cümlesinde yapabilir miyim merak ediyorum. Söylece sql çalışınca select ile görüntülenecek her borc ve alacaktan sonra buraya kadar olan bakiyeyi alıp sum(borc)-sum(alacak)'a ekleyebilmeliyim.
Ya eski Clipper programlarındaki gibi otomatik bakiye almaya çalışıyorum.
S.A.
on calc field olayında borç ve alacak alanlarını kontrol ettirip alanlar boşsa calc alanı hesaplatmazsanı işlem olur kanısındayım.
diğer türlü toplayarak gelmesi için eğer kullandığınız vt sp leri destekliyor ise sp kullanarak halledilebilir.
Kolay gelsin.
on calc field olayında borç ve alacak alanlarını kontrol ettirip alanlar boşsa calc alanı hesaplatmazsanı işlem olur kanısındayım.
diğer türlü toplayarak gelmesi için eğer kullandığınız vt sp leri destekliyor ise sp kullanarak halledilebilir.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Kıdemli Üye
- Mesajlar: 395
- Kayıt: 22 Tem 2004 09:15
- Konum: İzmir
- İletişim:
Selam,
şeklinde yapabilirsiniz. Ben öncelik/sonralık bilgisi için islem_tarihi diye bir kolon uydurdum siz kendinize göre düzenlersiniz.
Kolay gelsin,
Kod: Tümünü seç
SELECT MUSTERI,ITIPI,BORC,ALACAK,
(SELECT SUM(BORC-ALACAK) FROM BAKIYE b WHERE b.islem_tarihi < a.islem_tarihi)
FROM BAKIYE a
Sonuçlar;
MUSTERI ITIPI BORC ALACAK BAKIYE
----------------------------------
1 1 10 0
1 1 0 20 10
1 1 0 20 -10
Kolay gelsin,
Doğan Zorlu, İzmir
------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
Teşekkürler
Tamamdır.
Hepinize teşekkürler.
Kolay gelsin.
Hepinize teşekkürler.
Kolay gelsin.