table alanlarını toplatıp diğer table içine yazma
table alanlarını toplatıp diğer table içine yazma
string olan bir tabledakı verılerı ıstedıfım alana gore toplamını aldırıp diger table nasıl yazırabılrım tşr ederim.
hepsi sayıdan ibaret ifade ve degerler
alan tanımlaması strıng
Alan tanımı string ise SQL komutları ile toplam alamazsın. Ancak delphi ile
veritabanını döngüye sokarsın (While) string alanları integera veya float a dönüştürerek toplamlarını alabilirsin. Ancak String alanlarda bir tane daha char. mevcut olursa program kırılacaktır. Ancak bu şekilde toplam alabilirsin ama bu da riskli işte...
Sevgiler...
veritabanını döngüye sokarsın (While) string alanları integera veya float a dönüştürerek toplamlarını alabilirsin. Ancak String alanlarda bir tane daha char. mevcut olursa program kırılacaktır. Ancak bu şekilde toplam alabilirsin ama bu da riskli işte...
Sevgiler...
Bir döngü kullanarak yapabilirsin döngü içindeki atamalarıda String veriyi Integer tipine veya Real sayı tipine çevirerek yapabilirsin.
Kolay Gelsin...
Kod: Tümünü seç
Query1.First;
While not Query1.Eof Then
Begin
Toplam := StrToInt(Query1Tutar.AsString);
Query1.Next;
//Vesaire......
End;
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
sorum anlaşılmadı
adı soyadı ucret
ismail hakkı 10
huseyin kaygı 15
ismail hakkı 25
ismail hakkı 30
huseyin kaygı 50
zehra ugur 20 şeklinde bir table mevcut.bu table da bulunan kayıtlardakı adı ve soyadı aynı olanların ucretlerını toplatıp baska bır table ıcıne yazmak ıstıyorum.yenı tablo
ad soyad ucret
ismail hakkı 65
husetin kaygı 65
zehra ugur 20 şeklinde.
while not Table1.EOF do
begin
mik:=table1.FieldByName('ucret').value;
toplamBorc := toplamBorc + mik;
Table1.Next;
end; şeklinde sadece ucret alanlarının toplamını alabılıyorum.yukarıdakı netıceye ulaşamadım şimdiden tşkr ederim
ismail hakkı 10
huseyin kaygı 15
ismail hakkı 25
ismail hakkı 30
huseyin kaygı 50
zehra ugur 20 şeklinde bir table mevcut.bu table da bulunan kayıtlardakı adı ve soyadı aynı olanların ucretlerını toplatıp baska bır table ıcıne yazmak ıstıyorum.yenı tablo
ad soyad ucret
ismail hakkı 65
husetin kaygı 65
zehra ugur 20 şeklinde.
while not Table1.EOF do
begin
mik:=table1.FieldByName('ucret').value;
toplamBorc := toplamBorc + mik;
Table1.Next;
end; şeklinde sadece ucret alanlarının toplamını alabılıyorum.yukarıdakı netıceye ulaşamadım şimdiden tşkr ederim
Döngünün içinde if kontrolü yap eğer adı soyadı aynıysa topla ve gereken işlemleri şart koşullunun içinde gerçekleştir.
Kolay Gelsin...
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
yaptıgınız bır örnek var mı
bu döngunun içesine nasıl konulur bu if ifadesi ornek kodu varsa yollarmısınız
Table olayı değil de sql kullanarak yaparasan sana şunu öneririm:
Bu sql cümlesi sana ad ve soyada göre gruplama yaparak bulduğun toplamı TABLO2 isimli 2. tablona insert yapmanı sağlar.
TABLO2 nin alanları ADI,SOYADI,TOPLAM_UCRET şeklinde varsaydım.
Kod: Tümünü seç
INSERT INTO TABLO2 (ADI,SOYADI,TOPLAM_UCRET)
SELECT ADI,SOYADI,SUM(UCRET) FROM UCRETLER GROUP BY ADI,SOYADI
TABLO2 nin alanları ADI,SOYADI,TOPLAM_UCRET şeklinde varsaydım.
Sana tafsiyem ilk önce algoritma kur.
Kodları testedemiyorum makinamda delphi yok ama bu şekilde if kullanabilirsin.
Kolay Gelsin...
Kod: Tümünü seç
Ad := Edit1.Text; //Kayıt koşulu sağlamak için Stringi al
Table1.First;
while not Table1.EOF do // Database i tara
begin
if Ad = table1SoyAd.AsString Then // Karşılaştırma yap
Begin
mik:=table1.FieldByName('ucret').value; //Koşul gercekleşiyorsa topla
//Vesaire
toplamBorc := toplamBorc + mik; //Atama Yap
End;
Table1.Next;
End;
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
acıklarmısınız
program ıcerısınde nasıl yapabılırım.
Anlayamadım Neyi?
program ıcerısınde nasıl yapabılırım.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
sql şöyle
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add('INSERT INTO bakim1.db (ref,mik,op)');
query4.sql.add('SELECT ref,op,SUM(mik) FROM bakim.db GROUP BY ref,op');
query4.open;
ama tip uyumsuzlugu verıyor. bakım içindeki verileri bakım1 içine toplamlarını aldıgım kayıtları kaydetmek ıstedıgımde oluyor
Query4.SQL.Clear;
Query4.SQL.Add('INSERT INTO bakim1.db (ref,mik,op)');
query4.sql.add('SELECT ref,op,SUM(mik) FROM bakim.db GROUP BY ref,op');
query4.open;
ama tip uyumsuzlugu verıyor. bakım içindeki verileri bakım1 içine toplamlarını aldıgım kayıtları kaydetmek ıstedıgımde oluyor