Merhaba,
Delphi 6 + Paradox + TQuery kullanıyorum.
2 tablom var.
1 i Gider tablosu (ID,Tarih,GiderTürü,Tutar($))
2 cisi OdenenTaksitler(ID,RefID,Tarih,Tutar($),Odenen($))
bulunduğu yıldaki verileri Aylık olarak gruplayacak Kar Raporunu nasıl yapabilirm.
Ödenen(Gelir) taksitleri ve giderleri aylık olarak gruplayacak çıktı tablosunda
Ay Gelir Gider Kar
1 ### ### ###
2 ### ### ###
...
...
...
12 ### ### ###
alanları olacak.
Sanırım SELECT veya WHERE içinde if li ifadeler kullanmam gerekiyor fakat nasıl yapacağımı bilmiyorum.
yardımlarınızı bekliyorum. Teşekkürler.
Aylara Göre Kar/Zarar Raporu
- ayhanarican
- Üye
- Mesajlar: 37
- Kayıt: 03 Tem 2003 01:24
- Konum: İzmir
- İletişim:
öncelikle aynı şeyi ben de nbi aralar yapmaya çalışmıştım. ama aylara göre sıralama yapabilecek bir sql ifadesi(en azından paradoxla çalışacak) yok. veritabanında 1 tane daha field aç ve ismi AY olsun. her kayıt işlemi sırasında tarihlerin ay bölümünü komutu ile kopyala. daha sonra sql sorgularıyla işlemi halledersin. Kullanımı:
mesela forma butto1 olsun. OnClick olayına şöyle bi kod gireceksin:
bu kadar... kolay gelsin...
Kod: Tümünü seç
Label1.Caption:=Copy(tarih.Text,4,2);
mesela forma butto1 olsun. OnClick olayına şöyle bi kod gireceksin:
Kod: Tümünü seç
query1.close; //Query'i kapatıyoruz.
query1.sql.clear; //Query'nin içindeki sql cümlelerini siliyoruz.
query1.sql.add('select * from tablo.db'); // Sorgu yapacağımız tabloyu seçiyoruz.
query1.sql.add('where AY:='+#39+edit1.text+#39); //Tablemızın AY fieldındaki değerler edit1'deki ile aynı olan ifadeleri seçiyoruz.
query1.open; //Ve seçilen kayıtları query1'de gösteriyoruz.
bu kadar... kolay gelsin...

- ayhanarican
- Üye
- Mesajlar: 37
- Kayıt: 03 Tem 2003 01:24
- Konum: İzmir
- İletişim:
bazı veritabanların da MONTH() diye tarihin ay kısmını ayıran SQL fonksiyonu olduğunu öğrendim. Bu fonksiyon Paradox ta kullanılabiliyor mu(denedim invalid use of keyword hatası verdi.) yada paradox taki karşılığı nedir.
bu iki tabloya bir tablo daha ilave edelelim. Aylar Tablosu
Aylar.db
Ayno AyAdi(A10)
1 Ocak
2 Şubat
3 Mart
..
..
..
12 Aralık
ve diğer tabloların Tarih ve Tutar alanları ile ilişkilendirilecek.
yani Gider tablosunun Ocak ayı toplamını alacak Gider Alanına aktaracak.
OdenenTaksit tablosunun Ocak ayı toplamını hesaplayacak Gelir alanına aktaracak ve Şubat, Mart diye devam edecek.
Aslında SQL de SELECT kısmında Tarih Ay kısmını ayıran bir fonksiyon olsa bu iş kolay olurdu.
bu iki tabloya bir tablo daha ilave edelelim. Aylar Tablosu
Aylar.db
Ayno AyAdi(A10)
1 Ocak
2 Şubat
3 Mart
..
..
..
12 Aralık
ve diğer tabloların Tarih ve Tutar alanları ile ilişkilendirilecek.
yani Gider tablosunun Ocak ayı toplamını alacak Gider Alanına aktaracak.
OdenenTaksit tablosunun Ocak ayı toplamını hesaplayacak Gelir alanına aktaracak ve Şubat, Mart diye devam edecek.
Aslında SQL de SELECT kısmında Tarih Ay kısmını ayıran bir fonksiyon olsa bu iş kolay olurdu.