Ondalık Para Birimine Dönüştürmede Nokta Hatası

23/02/2017, 23:04

kadirba72

(23/02/2017, 20:54)atoz112 yazdı: sayın kadirba72,

EK'te;
bahsettiğiniz talebinize yönelik olarak hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

bilginize...iyi çalışmalar,saygılar.

Hocam,
Küçük bir sorum olacak. Tarihler arası sayıları toplatıyorum, örneğin 10 sayı ve 11.25 TL tarzı yani nokta ve kuruşlar var bunları toplattığım zaman noktalar kayboluyor çözümü varmıdır. Resimle göstermem daha yararlı olur, kırmızı şerit içindekiler para birimi oluyor.





Bu arada küçük bir açıklama yapacam visual basic hakkında, bu tarz bir problem için bu konuya gelen olursa bilsin ki, datagrid te arama yaparken tek tırnakları kaldırın, çifttırnakla arama yapın, çünkü tek tırnak sayılar için kullanılmaz ve  ölçüt ifadesinde veri türü uyuşmazlığı hatası alırsınız. Küçük bir örnek,

Kod:
'''' Yanlış olan kod
Adodc1.RecordSource = "SELECT Sum(Yikama) AS Topla FROM Tablo1 WHERE id Between '" & Text3.Text & "' And '" & Text4.Text & "'"


''''Doğrusu
Adodc1.RecordSource = "SELECT Sum(Yikama) AS Topla FROM Tablo1 WHERE id Between " & Text3.Text & " And " & Text4.Text & ""
24/02/2017, 07:15

C*e*l*o*y*c*e

Burda  bir çok sebep olabilecegi gibi 
A.text=formad(B.text;"0.0,##")  gibi format kullanarak  yada acces te 
Alan özellği :sayı
Biçimi:çift
Değeri:2 
yapabilirsin .
24/02/2017, 11:10

atoz112

sayın kadirba72,

Access Otomatik Sayı Hatası

öncelikle;yukarıda bağlantısı yazılı konunuz,olumlu sonuçlanması neticesinde daha öncesinde CEVAPLANMIŞ SORULAR Kategorisi'ne taşındığı için,sadece bilgilendirme ve hatırlatma olması amacı ile belirtmek gerekir ki,lütfen,böyle bir durumun uygulandığı konularınızın devamı niteliğinde konu başlığının dışında harici soruları devamlılık mahiyetinde sormamaya ve YENİ KONU açmak sureti ile bunu yeni konunuzdan devam etmeye gayret etmeye ve alışkanlık kazanmaya özen gösteriniz.

böylece,hem bu konunun mesaj yoğunluğunu artırmamış olursunuz hem de benzer soruna maruz kalabilecek olan diğer üyelerin site içi aramalarda alternatif bir konuya da bakılmasını ve incelemesini de sağlamış olursunuz.teşekkürler.

son olarak,bahsettiğiniz talebinize yönelik;
her zaman vurgulandığı ve önerildiği üzere,örnek uygulamalarınızı yapılandırırken,daha en başından tablolarınızdaki alanları olması gerektiği gibi veri türlerine uygun şekilde yapılandırırsanız,ileride sonradan bu gibi düzenlemelere veya değişimlere ya da bunlardan kaynaklı sorunlara maruz kalmamış olursunuz.

Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler

bu hususa dair,yukarıda bağlantısı yazılı konuyu da inceleyebilirsiniz.

kırmızı çerçeve içerisinde belirttiğiniz alan değerlerinin parasal değer olarak görünmesini sağlamak üzere,bu talebinizi harici sayısal değer formatlama kodlarını kullanabileceğiniz gibi,aslında daha en başında tablo yapılandırmasında bu alanların veri türünü PARA BİRİMİ olarak ve ONDALIK satırını da ister OTOMATİK isterseniz de 2 değeri yazmak sureti ile oluşturabilirsiniz. 

eğer sonradan bu yapılandırmayı yapıp öncesinde hazırladığınız bir form durumu da mevcutsa,formu TASARIM olarak açıp parasal değere dönüştürülecek olan her bir denetimin de ÖZELLİKLER - BİÇİM sekmesinden PARA BİRİMİ ifadesini seçip ONDALIK SATIRLAR satırını da OTOMATİK ya da 2 değeri işaretlemek üzere hazırlayabilirsiniz.

ya da,bir diğer kullanım olarak kimi çalışmalarda yapıldığı üzere ve sayın Celoyce tarafından da belirtildiği gibi,

Alıntı:Alan özellği :sayı
Biçimi:çift
Değeri:2 

ayarlaması ile de gerçekleştirilebilir.bilginize...iyi çalışmalar,saygılar.
24/02/2017, 13:46

kadirba72

(24/02/2017, 11:10)atoz112 yazdı: sayın kadirba72,

Access Otomatik Sayı Hatası

öncelikle;yukarıda bağlantısı yazılı konunuz,olumlu sonuçlanması neticesinde daha öncesinde CEVAPLANMIŞ SORULAR Kategorisi'ne taşındığı için,sadece bilgilendirme ve hatırlatma olması amacı ile belirtmek gerekir ki,lütfen,böyle bir durumun uygulandığı konularınızın devamı niteliğinde konu başlığının dışında harici soruları devamlılık mahiyetinde sormamaya ve YENİ KONU açmak sureti ile bunu yeni konunuzdan devam etmeye gayret etmeye ve alışkanlık kazanmaya özen gösteriniz.

böylece,hem bu konunun mesaj yoğunluğunu artırmamış olursunuz hem de benzer soruna maruz kalabilecek olan diğer üyelerin site içi aramalarda alternatif bir konuya da bakılmasını ve incelemesini de sağlamış olursunuz.teşekkürler.

son olarak,bahsettiğiniz talebinize yönelik;
her zaman vurgulandığı ve önerildiği üzere,örnek uygulamalarınızı yapılandırırken,daha en başından tablolarınızdaki alanları olması gerektiği gibi veri türlerine uygun şekilde yapılandırırsanız,ileride sonradan bu gibi düzenlemelere veya değişimlere ya da bunlardan kaynaklı sorunlara maruz kalmamış olursunuz.

Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler

bu hususa dair,yukarıda bağlantısı yazılı konuyu da inceleyebilirsiniz.

kırmızı çerçeve içerisinde belirttiğiniz alan değerlerinin parasal değer olarak görünmesini sağlamak üzere,bu talebinizi harici sayısal değer formatlama kodlarını kullanabileceğiniz gibi,aslında daha en başında tablo yapılandırmasında bu alanların veri türünü PARA BİRİMİ olarak ve ONDALIK satırını da ister OTOMATİK isterseniz de 2 değeri yazmak sureti ile oluşturabilirsiniz. 

eğer sonradan bu yapılandırmayı yapıp öncesinde hazırladığınız bir form durumu da mevcutsa,formu TASARIM olarak açıp parasal değere dönüştürülecek olan her bir denetimin de ÖZELLİKLER - BİÇİM sekmesinden PARA BİRİMİ ifadesini seçip ONDALIK SATIRLAR satırını da OTOMATİK ya da 2 değeri işaretlemek üzere hazırlayabilirsiniz.

ya da,bir diğer kullanım olarak kimi çalışmalarda yapıldığı üzere ve sayın Celoyce tarafından da belirtildiği gibi,

Alıntı:Alan özellği :sayı
Biçimi:çift
Değeri:2 

ayarlaması ile de gerçekleştirilebilir.bilginize...iyi çalışmalar,saygılar.

Merhabalar Hocam,
Mesajınızı dikkate alacam, başka sorunlar da yeni konu açıp sormam sizinde dediğiniz gibi arayanlar için daha yararlı olacaktır.
Otomatik İD bölümün dende olduğu gibi Access de tasarıma girdikten sonra özelliklerini değiştiremiyorum. Yani biçim sekmesine geldiğinde metin yazıyor, sekme ye tıklayıp para birimi vb. diğerlerini seçtirmiyor. Bir önceki problemde de siz halletmiştiniz fakat bir kaç kod yazmışsınız, pek anlamadığım için devamını getiremedim. Saygılar..

Bu yeni bir Access dosyası ve burada rahatça değiştiriliyor. Benim paylaştığım dosyada malesef olmuyor.




24/02/2017, 20:15

kadirba72

(24/02/2017, 07:15)C*e*l*o*y*c*e yazdı: Burda  bir çok sebep olabilecegi gibi 
A.text=formad(B.text;"0.0,##")  gibi format kullanarak  yada acces te 
Alan özellği :sayı
Biçimi:çift
Değeri:2 
yapabilirsin .

Kod:
A.text=format(B.text,"0.0,##")

bu kodu kullanınca sadece sayıların sonuna ,0 eklemesi yapıyor
25/02/2017, 01:46

kadirba72

Access kayıtların da noktalı para varsa (11.20tl) tarzı onu virgüle çevirmemiz lazım

Kod:
Dim StartPos, Counter As Integer
Dim FindString, ReplaceText As String
FindString = "."
ReplaceText = ","

For Counter = 1 To Len(Text27.Text)
       StartPos = InStr(Text27.Text, FindString)
       If StartPos > 0 Then
               Text27.SelStart = StartPos - 1
               Text27.SelLength = Len(FindString)
               Text27.SelText = "" + ReplaceText
       End If
Next


Access te tasarıma gelip para birimine çevirme yapalım



En sonda visual basic te arama yapınca textbox a format attıracaz

Kod:
Text19.Text = Format(Text19.Text, "#,##")



Problem çözülmüştür konu taşınabilir.