Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen sado.320 »

İyi günler arkadaş delphi dbedit girdiğim ondalık değeri otomatik olarak tam sayıya yuvarlıyor;

Veritabanının özellikler şunlardır;
Resim
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen ertank »

Siz bu veri tabanına angi kodu kullanarak kaydediyorsunuz?
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Re: Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen sado.320 »

ertank yazdı:Siz bu veri tabanına angi kodu kullanarak kaydediyorsunuz?

TeklifADOQuery.Post;
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen ertank »

Append ile Post arası tüm kodu komple gönderebilir misiniz?
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Re: Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen sado.320 »

ertank yazdı:Append ile Post arası tüm kodu komple gönderebilir misiniz?
delphi yeniyimde append ne demek ne alama geliyor ben buraya çalıştım form atsam olur mu
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen ertank »

Olur tabii.
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Re: Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen sado.320 »

ertank yazdı:Olur tabii.

http://s2.dosya.tc/server2/lqqkpj/TAKIP.rar.html

buradan forma ve veritabanına bakabilirsiniz.
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Microsoft Access 2010 Ondalık Sayıyı Otomatik Yuvarlıyor

Mesaj gönderen ertank »

Merhaba,

Öncelikle kod yazma ile ilgili bazı genel kabul görmüş kurallara dikkat etmenizi rica ediyorum. begin..end arasında kalan ifadeler daha içeride yazılır. Prosedür, fonksiyon veya if..else veya do..end blokları da aynı şekilde kullanılmalıdır. Böylece koda bakıldığı zaman okuması ve anlaması daha kolay olur.

Bunun dışında yine kod yazma ile ilgili olarak ekranda "Kaydet" yazan buton tıklandığında aşağıdaki gibi bir kod yazabilirsin.

Kod: Tümünü seç

procedure TForm10.Button4Click(Sender: TObject);
begin
  if DBEdit1.Text='' then  // Alt alta aynı if ifadesini yazmaya gerek yok. begin..end bloğu içinde birden fazla işlem yapılabilir.
  begin
    ShowMessage('Lisans Adet Alanı Girilmek Zorundandır');
    DBEdit1.SetFocus();
    Exit();
  end;

  if DBEdit4.Text='' then
  begin
    ShowMessage('Şirket Adet Alanı Girilmek Zorundandır');
    DBEdit4.SetFocus();
    Exit();
  end;

  if DBEdit7.Text='' then
  begin
    ShowMessage('Ücretsiz Kullanıcı Adet Alanı Girilmek Zorundandır');
    DBEdit7.SetFocus();
    Exit();
  end;

  FiyatlarADOTable.FieldByName('kayit_tarihi').AsDateTime          := DateTimePicker1.Date;
  FiyatlarADOTable.FieldByName('guncelleme_tarihi').AsDateTime     := DateTimePicker2.Date;
  FiyatlarADOTable.FieldByName('ilave_klnc_tarih').AsDateTime      := DateTimePicker3.Date;
  FiyatlarADOTable.FieldByName('ilave_klnc_tarih_gncl').AsDateTime := DateTimePicker4.Date;

  if FiyatlarADOTable.State in [dsInsert, dsEdit] then // if..then..else için her bir ifadeyi kendi ayrı satırına yazmak okuma kolaylığı getirecektir.
    FiyatlarADOTable.Post
  else
    ShowMessage('Lütfen yeni Kayıt Açınız');
end;
Bunlar dışında yapzdığın kodun ondalıklı sayıları kabul etmesi gerekli. Eğer kabul etmiyor ise akla gelen "database dosyasının alan tanımı hatalı olabilir" oluyor.

Benim bilgisayarımda kurulu Access uygulaması yok. Bundan dolayı alan tanımlarını kontrol edemiyorum. Ancak aşağıdaki link ondalık ve tamsayı için farklı veri türü gösteriyor. Bu anlamda KDV alanının veri türünü değiştirmek gerekebilir.
http://www.w3schools.com/sql/sql_datatypes.asp
Cevapla