Table Alan Toplamı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

Kod: Tümünü seç

SELECT 
SUM (Tutar)
FROM "C:\Mekanik\Malzeme.DB" Malzeme,"C:\Mekanik\HastaKarti.DB" HastaKarti
Where Malzeme.Table1N=Sira
şeklinde kod çalışıyor, lakin detail tablomdaki tutarı maalesef hesaplamıyor yine aynı şekilde tablunun tamamını topluyor. (Ben istiyorum ki sadece Detail olan Tutar alanını hesaplasın
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam kardeş şimdi sana anlattığımız şekilde yapsaydın aslında bir sorun olucağını sanmıyordum.

Şimdi sana şöyle anlatayım.2 ad tablomuz var.1.tablomuz
cari kartı
2.tablomuz ise cari işlemler olsun

Cari kartı:=master
-----------------
id
kod
adsoyad
adres
Cari İşlemler:=detay tablomuz
------------
id
did
tarih
borç
alacak
tutar
şeklinde olsun
şimdi sen 2.tablodada bulunan id alanlarını autoincrement olarak otomatik artır.Veya yapmayabilrsin.Ama yaparsan daha iyi olur

sen
Cari kartlar tablosunuda bulunan id ile detay tablosunda bulunan did alanı ile ilişkilendirme yaptın master-detay olayı

Bu master-detay yapının doğru çalıştığını varsayıyom.

şimdi biz detay tablomuzda bulunan tutar alanının hesaplatcaz ama detaya göre
form veya datamodule hangisine table ve querylerini koyuyorsan .Bir tane query ekliyorsun.
Querynin
database özelliğini ayarlıyorsun

Ve Querynin SQL ine gelip

Kod: Tümünü seç

  select sum(tuttar) from cari islemler
where cariislemler.did=:carikarti.id
şeklinde bir SQL yazıyorusun.
daha sonra
Query nesnesinin 
datasourcesine detay tablon yani cari işlemler tablon hangi datasource bağlıysa 
onu atıyorsun
atıyorum kafadan mesela datasource2 olsun
Querynin de datasourcesine datasource2 ekliyorsun ve active özelliğini true yapıyrsun. Sonra 
  diyelimki 
bir tanede dblookupcombobox koy forma burda da cari kartlarda adsoyadları listele diyelim
   Şimdi bu dblookupcomboboxun eneventsde onclick olayına 
tutar alanını hesaplattığım
query nesnesini açıp kapatıyorum Yani
query1.close;
query1.open;

Kod: Tümünü seç

şeklinde.Hepsi bu kadar.
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

Hocam 2 gündür benimle uğraşıyorsun zamanını harcıyorsun Hakkını helal et..
Söylediklerini Aynen kelimesi kelimesine yaptım SQL sorugunu

Kod: Tümünü seç

Select Sum (Tutar) From Malzeme
Where Malzeme.Tablo1N:=HastaKarti.Sira
olarak SQL 'i Aktif yapınca

Kod: Tümünü seç

Token not Found
Token: Malzeme.Tablo1N
Line Number:2
hatası veriyor..
Sevmiyorum SQL i boşa değil yani Oda beni sevmiyor. :)
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

helal olsunda kardeş galiba benim yazdıklarıma dikkat etmiyorsun.
Ben sql cümleciğini o şekildemi yazmışım senin sqlinde di
yoki 2.satırda hata var o da neden biliyonmu

Kod: Tümünü seç

Select Sum (Tutar) From Malzeme 
Where Malzeme.Tablo1N:=HastaKarti.Sira 

kodunu yazmışsınya
doğrusu bu şekilde

Kod: Tümünü seç

Where Malzeme.Tablo1N=:HastaKarti.Sira
iki nokta üstüsteye dikkat et .Kolay gele.
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

Kod: Tümünü seç

Select Sum (Tutar) From Malzeme 
Where Malzeme.Tablo1N:=HastaKarti.Sira
Hata Mesajı !

Kod: Tümünü seç

Invalid File Name
Tablo1N
Hey hikmetinden sual olunmayan yüce Rabbim...
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

bir şey sorayım sana
Table1N detaytaki alan mı mı masterdaki alanmı
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

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

Mesaj gönderen selman »

kardeş yina aynı yazmışsın
sql ifadelerde
where table1N:=sira //böyle bir kullanım yanlış
doğrus
where table1N=:sira//bu şekilde yazıcan
sen yine aynısını yazmışsın.
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

Kod: Tümünü seç

Select Sum (Tutar) From Malzeme 
Where Malzeme.Tablo1N=:HastaKarti.Sira

hata Mesajı "İnvalid file name Table1N"

Kod: Tümünü seç

Select Sum (Tutar) From Malzeme 
where table1N=:sira

HataMesajı "Table2: Field 'sira' not found
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam
böyle bir alanın yok diyor hata mesajı sen şimdi
table1N:=a
sira:= b
şeklinde değiştirirmisin .Birde böyle bak
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba...
loxka yazdı:

Kod: Tümünü seç

Select Sum (Tutar) From Malzeme 
Where Malzeme.Tablo1N=:HastaKarti.Sira

hata Mesajı "İnvalid file name Table1N"

Kod: Tümünü seç

Select Sum (Tutar) From Malzeme 
where table1N=:sira

HataMesajı "Table2: Field 'sira' not found
Konunun hepsini okumadım.Ama dikkatimi çeken sira değişkenini parametre
olarak tanımlamışsın..Sorguyu çalıştırmadan evvel parametre değerini girip öyle çalıştırmalısın...Değilse bu alan yok diye hata verir...

iyi günler...
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

Kod: Tümünü seç

SELECT 
SUM (Tutar) 
FROM "C:\Mekanik\Malzeme.DB" Malzeme,"C:\Mekanik\HastaKarti.DB" HastaKarti 
Where Malzeme.Table1N=Sira
Sadece kodu böyle derleyince SQL Aktif oluyor.
Ama bu şekilde de detail alanı hesaplamıyor, O alanda kaçtane kayıt varsa onu yani hepsini hesaplıyor.
Bıktım..
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam kardeş valla bilemiycem ben sana anlattığım mantıkla kendim yapıyorum herhangi bir sorun olmuyor o zaman projene bakmak lazım ne yaptğını veya neler yaptığını görmek lazım.Sana kolay gelsin.
loxka
Üye
Mesajlar: 214
Kayıt: 18 Ağu 2003 01:10

Mesaj gönderen loxka »

Sağolasın hocam zaman ayırdığın için
Cevapla