dbgrid ten toplam alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
dbgrid ten toplam alma
arkadaşlar db gridte bulunan miktarların (tutarların) toplamını almak istiyorum bunu bi textbox ta yapabilir miyim veya başka bir bileşende yapmam mümkün mü acaba?
Table kullanıyorsanız;gibi bir şey işinizi görür sanırım.
Kolay gelsin.
Kod: Tümünü seç
var
toplam:integer;
begin
toplam:=0;
Table1.First;
While not Table1.eof Do
begin
toplam:=toplam+Table1.FieldByName('AlanAdı').AsInteger;
Table1.Next;
end;
edit1.text:=inttostr(toplam);
end;
Kolay gelsin.
arakdaşım bu kodun aynısını yazdım ama çalışmadı
var
toplam:integer;
begin
toplam:=0;
Table1.First;
While not Table1.eof Do
begin
toplam:=toplam+Table1.FieldByName('AlanAdı').AsInteger;
Table1.Next;
end;
edit1.text:=inttostr(toplam);
end;
bu kodda toplam:=toplam+table1. yazdıktan sonra fieldByName alanını çıkarmadı manuel olarak yazdığımda ise sorun verdi

var
toplam:integer;
begin
toplam:=0;
Table1.First;
While not Table1.eof Do
begin
toplam:=toplam+Table1.FieldByName('AlanAdı').AsInteger;
Table1.Next;
end;
edit1.text:=inttostr(toplam);
end;
bu kodda toplam:=toplam+table1. yazdıktan sonra fieldByName alanını çıkarmadı manuel olarak yazdığımda ise sorun verdi

Eğer doğru anladıysam;
Kod: Tümünü seç
var
toplam,eklenecek:real;
begin
Table1.First;
Toplam:=0;
While Table1.EOF=False Do
begin
eklenecek:=1;
if Table1AlanAdi.AsString='Y' Then eklenecek:=0.5;
if Table1AlanAdi.AsString='D' Then eklenecek:=0.25;
toplam:=toplam+eklenecek;
Table1.Next;
end;
end;
Kod: Tümünü seç
var
toplam,eklenecek:real;
begin
adoTable4.First;
Toplam:=0;
While ADOTable4.EOF=False Do
begin
eklenecek:=1;
if adoTable4.FieldByName('Devamsızlık').AsString='Y' Then eklenecek:=0.5;
toplam:=toplam+eklenecek;
ADOTable4.Next;
Olmadı derken...similyan yazdı:...
şeklinde yazdım ama olmadı çalışmıyor
Hata mı verdi?(Veridyse hata neydi?)
Toplam 0 mı oldu?
Toplam yanlış mı oldu?
Bu arada bir not:
Aslında kod şöyle olmalıydı (kısaltarak yazıyorum);
Kod: Tümünü seç
if Devamsızlık='T' Then eklenecek:=1;
if Devamsızlık='Y' Then eklenecek:=0.5;
if Devamsızlık='D' Then eklenecek:=0.25;
Yoğurt yiyiş meselesi:)nitrokonat yazdı:soruya gelen cevaplara bi süredir seyirci olarak bakıyorum. kim query ile sql sorgu yapmayı önermiyor diye.
hakkaten siz niye yoruyosunuz ki kendinizi, yazın bi sql kodu olsun bitsin.
Onu da sen yazıver @nitrokonat abim:)
(Ben sadece basit işlerde SQL kullanıyorum.
SQL'in yapamadığı bir şey mutlaka karşıma çıkacak.
Ona hazırlık olarak...)
client server mimariye gecersen
vede alemin yazdığı kod senmin koddan 10 kere hızlı çalışırsa table ve query olaayına tekrar dön.ulu coder yazdı:Yoğurt yiyiş meselesi:)nitrokonat yazdı:soruya gelen cevaplara bi süredir seyirci olarak bakıyorum. kim query ile sql sorgu yapmayı önermiyor diye.
hakkaten siz niye yoruyosunuz ki kendinizi, yazın bi sql kodu olsun bitsin.
Onu da sen yazıver @nitrokonat abim:)
(Ben sadece basit işlerde SQL kullanıyorum.
SQL'in yapamadığı bir şey mutlaka karşıma çıkacak.
Ona hazırlık olarak...)
Şaka bir yana nitrokonat haklı. Misal ben iki tabloyu birleştirdim table ile kod yazıp. 4 dk surdu... arada baya bir find da gerekti çunku.. aynı şeyi sql joinle yaptım... işlemin süresini hiç sorma kodçuluğumdan utanıyorum...
SQL rocks..