Dostlar Merhaba forumda yeniyim bir yanlışlık yaparsam affola. Şimdi Formumda adoquery ile yeni alan adı oluşturdum veritabanında normalde yok(Access Veri Tabanı). Veri tabanındaki alan adlarım 'OZELSIFRE,ADI,SOYADI,TOPLAMBORC,YUKLEMETARIHI'. Ben de veri tabanında olmayan bir alan adı oluşturarak oncalcfields eventsini kullandım. dbgrid de boş gözükeceği için oncalcfields eventsine şunları yazdım.
Kod: Tümünü seç
ADOQuery1KALAN_BORC.AsFloat:=ADOQuery1TOPLAM_BORC.AsFloat;
Dbgride popupmenu ekledim. Popupmenu de ödeme yap tuşlandığında inputbox ile odenecek miktar alınıyor. inputbox'ı da odeme adlı değişkene aktardım.
Kod: Tümünü seç
odeme:=StrToInt(InputBox('Ne Kadar Ödeme Yapacaksınız?','BORÇ ÖDEME','Ödenecek Rakamı Giriniz'));
if odeme<0 then begin
ShowMessage('LÜTFEN POZİTİF OLAN BİR DEĞER GİRİNİZ..');
exit;
end else begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('KALAN_BORC').Value:=ADOQuery1.fieldbyname('TOPLAM_BORC').value-odeme;
Bu şekilde yaptığımda borç düşüyor ama dbgrid de başka bir satır seçtiğimde eski haline dönüyor.
Büyük ihtimalle OnCalcFields prosedüründe yanlışlık var 1 haftadır uğraşıyorum ama beceremedim.
Yardımcı olabilirseniz çok iyi olur.
Şimdiden Teşekkürler.