Taksitlendirme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
Round kullansan ne olur?
Kod: Tümünü seç
query1.FieldByName('TAKSITUCRET').AsInteger := round(query1.FieldByName('TOPTUTAR').AsInteger / query1.FieldByName('TAKSITSAY').Asinteger);
ben programımda şöyle bir yöntem kullandım belki işine yara
programımdakini olduğu gibi kopyaladım
bunu kullanan yerlerim var ..

Kod: Tümünü seç
ROCEDURE TTAKSITF.SpeedButton2Click(Sender: TObject);
VAR
SNO, A: INTEGER;
TARIH: TDATE;
YIL, AY, GUN: WORD;
BEGIN
IF Q_BASLIKKALAN.Value = 0 THEN
BEGIN
APPLICATION.MessageBox('Taksit Tutarı Yok', 'Bilgi', 0 + 64);
END
ELSE
BEGIN
IF Q_BASLIKILKODEMETARIHI.Value = 0 THEN
BEGIN
APPLICATION.MessageBox('İlk Ödeme Tarihi Yok', 'Tarih', 0 + 64);
END
ELSE
BEGIN
TARIH := Q_BASLIKILKODEMETARIHI.Value;
DecodeDate(Q_BASLIKILKODEMETARIHI.Value, YIL, AY, GUN);
FOR A := 1 TO SATIR.RecordCount DO
BEGIN
SATIR.Delete;
END;
// TAKSİT HESAPLANIYOR
SATIR.Append;
SATIRFIRMAKOD.Value := Q_BASLIKFIRMAKOD.Value;
SATIRSATISNO.Value := Q_BASLIKSATISNO.Value;
SATIRTAKSITNO.Value := Q_BASLIKTAKSITNO.Value;
SATIRODEMETARIHI.Value := TARIH;
SATIRMIKTAR.Value := Q_BASLIKKALAN.Value / Q_BASLIKTAKSITSAYISI.Value;
SATIRTAKSITSNO.Value := 1;
SATIR.Post;
SNO := 1;
FOR A := 1 TO STRTOINT(DBEDIT8.Text) - 1 DO
BEGIN
SNO := SNO + 1;
TARIH := TARIH + DaysInMonth(TARIH);
SATIR.Append;
SATIRFIRMAKOD.Value := Q_BASLIKFIRMAKOD.Value;
SATIRSATISNO.Value := Q_BASLIKSATISNO.Value;
SATIRTAKSITNO.Value := Q_BASLIKTAKSITNO.Value;
SATIRODEMETARIHI.Value := TARIH;
SATIRTAKSITSNO.Value := SNO;
SATIRMIKTAR.Value := Q_BASLIKKALAN.Value /
Q_BASLIKTAKSITSAYISI.Value;
SATIR.Post;
END;
END;
END;
END;
programımdakini olduğu gibi kopyaladım
bunu kullanan yerlerim var ..
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Benim bu table insertlerde hep kafam karışır zaten 
Bi de şöyle denermisin ama bu sefer query ile

Bi de şöyle denermisin ama bu sefer query ile
Kod: Tümünü seç
query1.Append;
query1TOPTUTAR.asFloat := strtofloat(edit1.text);
query1TAKSITSAY.asFloat := strtofloat(edit2.text);
query1TAKSITUCRET'.asFloat := strtofloat(edit1.text) / strtofloat(edit2.text);
query1.Post;
query1.close;
query1.open;
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
Kusura bakmayın uzun bir zamandır foruma rahatsızlığım nedeni ile mesaj atamadım söyledilerini yaptm ama sonuç alamadm bende Söyle birsey yaptm
Ben Şimdi Bunu İsteiğim Gibi böldürebiliyorum ama Gridde Sadece Tek bir Kayıt Görünüyor yani taksitlendirilmiş fiyatı gösteriyor. Ben Giride 15.000.000 3 Taksite böldüğümüz zaman
Taksit 1 5.000.000
Taksit 2 5.000.000
Taksit 3 5.000.000
Görülmesini istiyorum Bunu için Bu Bölünmüş Sayıyı Tabloya Taksit Sayısı Kadar Yazdırmak mı lazım.
Kod: Tümünü seç
Query1.Close;
Query1.TAKSITTUTAR.Value:=(TAKSITSAY / TOPLAMTUTAR);
Query1.Open;
Taksit 1 5.000.000
Taksit 2 5.000.000
Taksit 3 5.000.000
Görülmesini istiyorum Bunu için Bu Bölünmüş Sayıyı Tabloya Taksit Sayısı Kadar Yazdırmak mı lazım.
tabiki evet. Master detail mantığı budur. habirde bilgisayar, bir makinadır. aslında hiç bir şey bilmez, hatta 4 işlemi bile, bildiği tek şey toplamadır, diğerlerinide toplamanın dağılma özelliğini kullanarak yapar.(Hocam ın kulakları çınlasın)
Detail tablonda taksit bilgilerini saklamalısın tutarı vadesi ödendi/ödenmedi vs gerekli bilgileri.
yukarıda dosyaya eklemeyle ilgili örneklerde dikkatimi çeken, atama işleminden sonra Append yada insert edilmiş, doğal olarakta readonly hatası alınmış.
sıralama şöyle olmalıydı Open , Insert yada Append , Post , Close
tabi bu read only hatası sadece bundan kaynaklanır denemez
Kolay gele
Detail tablonda taksit bilgilerini saklamalısın tutarı vadesi ödendi/ödenmedi vs gerekli bilgileri.
yukarıda dosyaya eklemeyle ilgili örneklerde dikkatimi çeken, atama işleminden sonra Append yada insert edilmiş, doğal olarakta readonly hatası alınmış.
sıralama şöyle olmalıydı Open , Insert yada Append , Post , Close
tabi bu read only hatası sadece bundan kaynaklanır denemez
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
kusura bakma burda delphi yok kodları deneyemedim.Eğer hata verirse haber verirsin.
[/code]
Kod: Tümünü seç
var
ali:real;
veli:real;
deli:real;
seli:real;
begin
ali:=table1.fieldbyname('fiyat').asfloat
veli:=table1.fieldbyname('taksitsayisi').asfloat;
table2.first;
deli:=ali/veli;
seli:=0;
for seli:=0 to veli do begin
table2.append;
table2.fieldbyname('taksittutari').asfloat:=deli;
table2.post;
end;