Sql ile Çoklu İşlem Yaptırma (Sum) Proplemi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Sql ile Çoklu İşlem Yaptırma (Sum) Proplemi
Merhaba,
Arkadaşlar Sql ile önce bir listelem yapıyorum ardındanda bu listelenen kayıtlarda sütun toplamak istiyorum ama malesef olmuyor.
sorun Query RequestLive alanınyla ilgili zannedersem
kod şöyle
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT * FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu="ML 223" ');
open;
Label1.Caption:=Query1.Fields[0].Value;
Hata veren kod;
With Query1 do
begin
RequestLive:=False;
Close;
//SQL.Clear;
SQL.Text := 'SELECT SUM (Tarih) FROM FINSAT460.STI ';
open;
Label4.Caption:=Query1.Fields[0].Value;
RequestLive:=True;
Sütün toplamını listeleme işlemi yaptıktan sonra almak istiyorum ama hata veriyor.
bu iki kodu aynı anda nasıl kullanabilirim.
Saygılarımla
Teşekkür ederim
Arkadaşlar Sql ile önce bir listelem yapıyorum ardındanda bu listelenen kayıtlarda sütun toplamak istiyorum ama malesef olmuyor.
sorun Query RequestLive alanınyla ilgili zannedersem
kod şöyle
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT * FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu="ML 223" ');
open;
Label1.Caption:=Query1.Fields[0].Value;
Hata veren kod;
With Query1 do
begin
RequestLive:=False;
Close;
//SQL.Clear;
SQL.Text := 'SELECT SUM (Tarih) FROM FINSAT460.STI ';
open;
Label4.Caption:=Query1.Fields[0].Value;
RequestLive:=True;
Sütün toplamını listeleme işlemi yaptıktan sonra almak istiyorum ama hata veriyor.
bu iki kodu aynı anda nasıl kullanabilirim.
Saygılarımla
Teşekkür ederim
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
merhaba;
viewtopic.php?t=8385&highlight=
+ 'Tarih' alanı Date tipindeyse,öyle gibi gözüküyor.Toplam aldıramassın,Sayısal bir alan olması lazım.
iyi günler...
viewtopic.php?t=8385&highlight=
Kod: Tümünü seç
SELECT SUM (Tarih) FROM FINSAT460.STI '
iyi günler...
Merhaba
Hocam
Tarih alanı integer bir alan çok saçma biliyorum ama böyle (yani benim vt diil başka bir prog vt si.
onu örnek olsun diye yazdım.
başka bir alanda olabilir.
son olarak şu kodu yazdım oda hata veriyor.
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT * SUM (Tarih) FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu="ML 223" ');
open;
Label1.Caption:=Query1.Fields[0].Value;
Tarih alanı integer bir alan çok saçma biliyorum ama böyle (yani benim vt diil başka bir prog vt si.
onu örnek olsun diye yazdım.
başka bir alanda olabilir.
son olarak şu kodu yazdım oda hata veriyor.
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT * SUM (Tarih) FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu="ML 223" ');
open;
Label1.Caption:=Query1.Fields[0].Value;
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Bu sorun beni çıltırdıyor ya

Üstadlar
MSQL de şu kod mütiş çalışıyor
SELECT sum (Tarih) FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu='ML 223'
Aynı kodu delphide Querye uyarladığımda yani.
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT Sum (Tarih) FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu="ML 223" ');
open;
Label1.Caption:=Query1.Fields[0].Value;
end;
Hata veriyor. Hatanın nedeni ise
RequestLive alanından kaynaklanıyor bunu anladım ama nasıl çalışacak onu anlamadım.
Saygılamla
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
merhaba;
Şöyle bir denermisin;
'SeninAlan1,Seninalan2' bu alanları çoğaltabilirsin,isteğine göre.
iyi günler....
Kod: Tümünü seç
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT SeninAlan1,Seninalan2,(SELECT SUM (Tarih) FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu="ML 223") as SONUC FROM FINSAT460.STI WHERE IslemTur=1 and MalKodu="ML 223" ');
open;
Label1.Caption:=IntToStr(Query1.FieldByName('SONUC').AsInteger);
Şöyle bir denermisin;
'SeninAlan1,Seninalan2' bu alanları çoğaltabilirsin,isteğine göre.
iyi günler....
Kod: Tümünü seç
Hata veriyor. Hatanın nedeni ise
RequestLive alanından kaynaklanıyor bunu anladım
iyi günler...
merhaba
Merhaba Uğur bey (benim ismimde uğur)
Yardımlarınız için teşekkür ederim.
Ama yinede olmuyor.
Sizin yapmış olduğunuz böyle bir kod varmı.
yani önce bir listeleme uygun kritere göre sonrada bu kriterler içerisindeki bir alanın sütun toplamını aldırma.
Saygılarımla
Teşekkür ederim.
Yardımlarınız için teşekkür ederim.
Ama yinede olmuyor.
Sizin yapmış olduğunuz böyle bir kod varmı.
yani önce bir listeleme uygun kritere göre sonrada bu kriterler içerisindeki bir alanın sütun toplamını aldırma.
Saygılarımla
Teşekkür ederim.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
merhaba;
Memnun oldum;
Yukarıdaki kod çalışması lazım.Bence sizin hatalarınız başka nedenlerden kaynaklanıyor.
Mesela çok basit olacak ama
yukarıdaki kod İsmi 'ugur' olanları listeliyor.
Yukarıdaki kod ise İsmi 'ugur' olanların Maas toplamını veriyor.
İkisini de tek SQL de yapayım dersen,arkadaşlar bunu önermiyorlar,daha yavaş çalışacağı için,ben de yeni öğrendim ;
Veritabanı Proğramcılığı = SQL ;
iyi akşamlar...
Memnun oldum;
Yukarıdaki kod çalışması lazım.Bence sizin hatalarınız başka nedenlerden kaynaklanıyor.
Mesela çok basit olacak ama
Kod: Tümünü seç
Select * from Tabloismi where Adi="ugur"
Kod: Tümünü seç
Select sum(maas) from Tabloismi where Adi="ugur"
İkisini de tek SQL de yapayım dersen,arkadaşlar bunu önermiyorlar,daha yavaş çalışacağı için,ben de yeni öğrendim ;

Kod: Tümünü seç
Select SeninAlan1,SeninAlan2, (Select sum(maas) from Tabloismi where Adi="ugur") as MaasToplam from Tabloismi where Adi="ugur"

iyi akşamlar...
Oncelikle hata mesajını bilirsek daha faydali olma sansimiz olur... Basit bir hatanin etrafinda donup duruyor ama cozumu yakalayamiyormusuz gibime geliyor....
veritabanı tarafinda calisan kod delphi de de calisir. Hic bir problem olmaz... Ama dediginiz gibi bu tarz bir kod icin RequestLive=False olmali..
veritabanı tarafinda calisan kod delphi de de calisir. Hic bir problem olmaz... Ama dediginiz gibi bu tarz bir kod icin RequestLive=False olmali..
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

Merhaba
Merhaba
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT SUM (Tarih) FROM FINSAT460.STI WHERE IslemTur=1 ');
ShowMessage(Query1.SQL.Text);
open;
label1.Caption:=Query1.Fields[0].Value;
Yukarıdaki kod ile ilemi çözdüm.
Emeği geçen herkeze tşk ederim.
Not: bir ara while do döngüsünü bile düşündüm ama 16000 kayıt var bayaaa kastı makinayı.
Saygılarımla
Çalışmalarınızda başarılarç
Arkadaşlar.

With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT SUM (Tarih) FROM FINSAT460.STI WHERE IslemTur=1 ');
ShowMessage(Query1.SQL.Text);
open;
label1.Caption:=Query1.Fields[0].Value;
Yukarıdaki kod ile ilemi çözdüm.
Emeği geçen herkeze tşk ederim.
Not: bir ara while do döngüsünü bile düşündüm ama 16000 kayıt var bayaaa kastı makinayı.
Saygılarımla
Çalışmalarınızda başarılarç
Arkadaşlar.

Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________