dbgridde sql

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

dbgridde sql

Mesaj gönderen selman »

Arkadaşlar herkese kolay gelsin bir türlü şu an yazacağım şeyi beceremedim
  • Adısoyad borç alacak bakiye
    ahmet 100 50 50
    ahmet 50 20 80 bu şekilde
    yardımlarınız için şimdiden Allah razı olsun
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

:?:
eğer önceden sorduğun bi soru ise ona devam etsen daha iyi olur.
öyle değilse biraz daha açık sorabilirmisin. kaynak vt nin yapısı nasıl ondan öncede hangi vt vs..
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

Abi önceki soru da bakıye toplamını editte görmekti
Şimdi benim istediğim durum bu işlemi dbgridde görmesi
yani
adı soyadı borç alacak bakıye
1000 1000 2000
500 200 300
şeklinde otomatik yapması kullandığım veritabanı ise dbase for windows
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

Kod: Tümünü seç

select misadi, borc, alacak , (borc-alacak) as bakiye from mis 
işini görürmü ?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

S.A.

kolay gelsin..

3 gün önce ben de aynı olayla uğraşıyordum.

Çözüm yolunu şu şekilde yaptım

Bakiye yi dışarda bıraktım.
Borç girişinde ALACAK=0
Alacak girişinde BORC=0
DBgridde ad,soyad,borç,alacak alanlarını gösterdim.

2.bir query ile bakiyeyi buldum

Kod: Tümünü seç

query.close;
query.sql.clear;
query.sql.add('select (sum(giris)-sum(cikis)) BAKIYE');
query.sql.add('from tablo');
query.sql.add('where adi='''+edit1.text+''''');
query.open;
bu kodu da listeleme butonunun altına yazdım.Gridde girilen isindeki şahsın dökümünü aldım..DBEDİT nesnesinde de hesaplama sonucundaki bakiyeyi aldım.

Ne de olsa çaylak ca bir yol..Biraz daha işi öğrenelim daha kısa yollardan çözeceğim :lol:
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

Hepinizin ilgisinden dolayı teşekkür ederim
Yusuf Hocam gönderdiğiniz kodları çalıştırdım fakat hata verdi. Bir türlü işin içinden çıkamadım
Herkese kolayy gelsin
Misafir

tabloların nasıl ?

Mesaj gönderen Misafir »

önce bu borç alacak bakiye müşteri adı felan işte nasıl saklıyorsun onları yazalısın ki havanda su dövmeyelim demi? kısaca aslında yapman gereken şu

2 adet table birinde müşteri sabit bilgileri (kodu,adı,adresi vs.), diğerinde hareketleri (kodu,tarihi,borç, alacak, fişno vs.) sonra kolay. biraz anlat tabloları bi daha bakalım.

kolay gelsin
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

mikrocu kardeşim dediğiniz gibi yaptım
iki tane ayrı tablo oluşturdum fakat borç alacak bakiye bölümünde
toplamayı yapamadım
Misafir

diyelim ki,

Mesaj gönderen Misafir »

tablo 1 : müşteri kayıtları : musteri

kodu, adi, teli

tablo 2 : müşteri hareketleri : mushar

muskod,tarih,borc, alacak

sorguyu yazalım şimdi
eğer tüm müşterileri görmek istersen;

Kod: Tümünü seç


select muskod, sum(borc)toplamborc, sum(alacak)toplamalacak,(sum(borc)-sum(alacak)) from mushar group by muskod

eğer belli müşterileri görmek istersen where ile muskod field ına kriter verebilirsin.

son olarak müşteri adini da aynı sorguda görmek istersek.

Kod: Tümünü seç


select mushar.muskod, musteri.adi,sum(borc)toplamborc, sum(alacak)toplamalacak,(sum(borc)-sum(alacak)) from mushar,musteri where mushar.muskod=musteri.kodu group by mushar.muskod,musteri.adi

sanırım çalışır kodlar çalışmazsa bi daha bakalım test etmedim çünkü.

kolay gelsin
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

mikrocu kardeş bu kodları nereye nasıl yazacağım ve bir query nesnesi koyup onun içine
select* from musteri mi yazmalıyım
teşekkürler
Misafir

bence önce bi delphi kitabı satın almalısın.

Mesaj gönderen Misafir »

ve bazı geceler ağlayana kadar bu kitaba çalışmalısın. gerçekten az çok bi şeyler yazmak istiyorsan delphide. yanlış anlama forum sana asla delphi öğretmez. forumu ancak nokta atışı için kullanırsın. soru sorarsın ve cevap alırsın. o kadar. öncesini senin doldurman gerekiyor.
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

teşekkür ederiz Mikrocu Hocam size de
ama şunu bilmenizi isterim ki ben bunu yapamadığım için sadece öğrenmekti niyetim yoksa bunu yapamadığım için sorma gereği hissettim Yine de herkesten Allah razı olsun
Cevapla