Access' ten Userform' a veri çekerken sayısal ifadelerde virgül yenine nokta gelme durumu

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,076
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Acces veritabanında sayısal olarak yazan bir alandaki veriyi Userform' da Textbox içine çekerken;
Örnek: 123,54 sayısal değerini Text Box içene yazarkan ondalık bölümde virgül yerine nokta olarak 123.54 şeklinde yazıyor.
Bu durumu Aşağıdaki gibi TextBox_Change olayı ile çözmeye çalıştım ama çok içime sinmedi, yalnız bunun daha farklı ve daha profesyonel bir yolu olabilir mi?


Kod:
  Set rst = New ADODB.Recordset
 
    SQL = "Select * From tbl_Orders"

    SQL = SQL & " Where Id= " & sId
  
     rst.Open SQL, cn, 1, 3

   Userform1.txtQuantity.Value = vbNull(rst!Miktar)
Kod:
Private Sub txtQuantity_Change()

   If InStr(1, txtQuantity, ".") > 0 Then txtQuantity.Value = Replace(txtQuantity, ".", ",")
    
    Me.txtQuantity = Format(txtQuantity.Value, "#,##0")
End Sub
yardımlarınız için şimdiden teşekkürler,
iyi Çalışamalar..
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
675
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Set rst = New ADODB.Recordset

SQL = "Select * From tbl_Orders"
SQL = SQL & " Where Id= " & sId

rst.Open SQL, cn, 1, 3

Userform1.txtQuantity.Value = Replace(CStr(rst!Miktar), ".", ",")

veya

Private Sub txtQuantity_Change()
If InStr(1, txtQuantity, ".") > 0 Then txtQuantity.Value = Replace(txtQuantity, ".", ",")
End If

txtQuantity.Value = Format(CDec(txtQuantity.Value), "#,##0.00")
End Sub

Hocam fikir verme açısından böyle birşey sizce olabilirmi ?
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,076
Excel Vers. ve Dili
Office 2013 İngilizce
Set rst = New ADODB.Recordset

SQL = "Select * From tbl_Orders"
SQL = SQL & " Where Id= " & sId

rst.Open SQL, cn, 1, 3

Userform1.txtQuantity.Value = Replace(CStr(rst!Miktar), ".", ",")

veya

Private Sub txtQuantity_Change()
If InStr(1, txtQuantity, ".") > 0 Then txtQuantity.Value = Replace(txtQuantity, ".", ",")
End If

txtQuantity.Value = Format(CDec(txtQuantity.Value), "#,##0.00")
End Sub

Hocam fikir verme açısından böyle birşey sizce olabilirmi ?
bence bu çözüm güzel bir fikir teşekkür ederim.

Kod:
Userform1.txtQuantity.Value = Replace(CStr(rst!Miktar), ".", ",")
 
Son düzenleme:
Katılım
5 Kasım 2006
Mesajlar
602
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Merhaba.
Denemedim ama sanıyorum önceden denk gelmiştim.Alttaki gibi vaL olarak vir deneyin.

Val(rst!Miktar)
 
Üst