dbgrid ve para formatı sorunu?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
dbgrid ve para formatı sorunu?
arkadaşlar dbgridde sayılar 25 şeklinde gözüküyor son sıfırları 25,00 almıyor ben hepsinin gözükmesini istiyorum ne yapmalıyım
sql veri tabanım var decimal türde rakamları edit ten giriyorum selamlar
sql veri tabanım var decimal türde rakamları edit ten giriyorum selamlar
Re: dbgrid ve para formatı sorunu?
aradım aşşağıdakini buldum hata veriyor kodda eksiklik oldu galiba
datasource onchange'ine
datasource onchange'ine
Kod: Tümünü seç
Kod: Tümünü seç
Formatcurr('0.00,##YTL',alanadı.Ascurrency);
Kod: Tümünü seç
procedure TForm4.DataSource1DataChange(Sender: TObject; Field: TField);
begin
Formatcurr('0.00,## YTL',ZQuery1.Ascurrency);
Re: dbgrid ve para formatı sorunu?
yapamadım biri anlatırsa memnun olurum
Re: dbgrid ve para formatı sorunu?
tasarım anında dbgrid yerine tablonuzdaki olmasını istediğiniz alana gelin ve
valuemask a da mask benzeri özelliğine olmasını istediğiniz biçimi verin
veya
yine tasarım anında gridinizin ilgili column'a gelin ve DataField'indeki valuemask ya da mask (neyse artık hatırlamıyorum şu an
)
özelliğine istediğin biçimi atayın.
veya
çalışma anında sql ile sorgu yapıyorsanız tablonuzun ilgili fieldine istediğinizi maskı verin.
veya
en başta bu alana float, doouble yerine currency tipi vermiş olsaydınız program otomatikmen TL so eki ile birlikte iki tane sıfır atardı.
valuemask a da mask benzeri özelliğine olmasını istediğiniz biçimi verin
veya
yine tasarım anında gridinizin ilgili column'a gelin ve DataField'indeki valuemask ya da mask (neyse artık hatırlamıyorum şu an

özelliğine istediğin biçimi atayın.
veya
çalışma anında sql ile sorgu yapıyorsanız tablonuzun ilgili fieldine istediğinizi maskı verin.
veya
en başta bu alana float, doouble yerine currency tipi vermiş olsaydınız program otomatikmen TL so eki ile birlikte iki tane sıfır atardı.
Re: dbgrid ve para formatı sorunu?
yaa Allah razı olsun ancak ben zqurey kullandığım için fields add yapamıyorum query was empty hatası veriyor
kodlarla nasıl yapılıyor onu bulamadım
kodlarla nasıl yapılıyor onu bulamadım
Re: dbgrid ve para formatı sorunu?
mysql ile değiştirebiliyoruz ya türünü baktım currency tip yok seçeneklerde yok biri geliyor float yap diyo biri çıkıyor decimal yap diyo anlamadım gittien başta bu alana float, doouble yerine currency tipi vermiş olsaydınız program otomatikmen TL so eki ile birlikte iki tane sıfır atardı.

Re: dbgrid ve para formatı sorunu?
bazı veritabanlarında money tipi olarak geçer.pelitt yazdı:mysql ile değiştirebiliyoruz ya türünü baktım currency tip yok seçeneklerde yok biri geliyor float yap diyo biri çıkıyor decimal yap diyo anlamadım gittien başta bu alana float, doouble yerine currency tipi vermiş olsaydınız program otomatikmen TL so eki ile birlikte iki tane sıfır atardı.
Re: dbgrid ve para formatı sorunu?
valla baktım enum vs. var m ile başlayan sadece mediumint var
Re: dbgrid ve para formatı sorunu?
TFloatField(MyQuery.fieldByName('MyField').DisplayFormat := '0.00'
TFloatField o kaydın float tipi olduğuna ikna için
MyQuery : Sizin tablonuz
MyField : Biçimlemek istediğiniz alan
TFloatField o kaydın float tipi olduğuna ikna için

MyQuery : Sizin tablonuz
MyField : Biçimlemek istediğiniz alan
Re: dbgrid ve para formatı sorunu?
olmadı

Kod: Tümünü seç
procedure TForm4.FormCreate(Sender: TObject);
begin
dbgrid2.Visible:=false;
zQuery1.Close;
zQuery1.SQL.Add('Select UYE.ADI,UYE.BLOK,HESAP.AIDAT,HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME,HESAP.AY,HESAP.YIL,HESAP.NOTC,HESAP.ID From UYE,HESAP Where UYE.ID=HESAP.KIM' );
zQuery1.Open;
TFloatField(zQuery1.fieldByName('aidat').DisplayFormat:='0.00';
Re: dbgrid ve para formatı sorunu?
TFloatField(zQuery1.fieldByName('aidat'). buraya kadar kod doğru fakat DisplayFormat kod hatırlatıcıda gözükmüyor Displayname Displaytext var
Re: dbgrid ve para formatı sorunu?
ascurrency ile falan ugrasma...
formatfloat('##,##,## TL, Sayı');
Kolay Gelsin..
formatfloat('##,##,## TL, Sayı');
Kolay Gelsin..
Re: dbgrid ve para formatı sorunu?
selamlar dediğinizi yapıyorum ancak nafile hata veriyor kullanma şeklimbeyuslu yazdı:ascurrency ile falan ugrasma...
formatfloat('##,##,## TL, Sayı');
Kolay Gelsin..
xaidat=formatfloat('##,##,## TL, edit1.text');
olmadı
ekle:='INSERT INTO hesap (kim,aidat,yakit,ay,yil) values'+'('+idm+','+formatfloat('##,##,## TL, xaidat');+','+QuotedStr(xyakit)+','+QuotedStr(xay)+','+QuotedStr(xyil)+')';
bunu denedim buda olmadı
birde amacım dbgridde 20,00 şeklinde göstermek yani kaydı elimle sql yapıyom yinede 20 ye dönüyor niye böyle oluyor anlamadım
Re: dbgrid ve para formatı sorunu?
MySQL de parasal alan yoktur. Kullandığınız veritabanın özelliklerini bileceksiniz. Parasal veri için decimal kullanılır decimal(11,2) yapabilirsin...2 ondalık kısmı ifade eder...
Ayrıca MySQL veri grişi sırasında (,) virgül kabul etmez ondalık ayracı (.) noktadır...
Ayrıca MySQL veri grişi sırasında (,) virgül kabul etmez ondalık ayracı (.) noktadır...
Yani sanki biliyormuş gibi cevap vermişsin...Acaba query was empty hatasını neden veriyor biliyormusun...ya hiç bir yerden Database uygulamaları hakkında bilgi edinmeden neden program yapmaya çalışılır anlamam...Öyle olsaydı Her Query bileşeninin SQL diye bir property si olduğunu bilirdin....İlk önce tablonun SQL string'ini belirlersin sonra Query üzerine çift tıklayıp seçilen alanlara ulaşabilirsin...zqurey kullandığım için fields add yapamıyorum query was empty hatası veriyor kodlarla nasıl yapılıyor onu bulamadım