• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Database INSERT işleminde ondalıklı kısım

  • Konbuyu başlatan Konbuyu başlatan izm_35
  • Başlangıç tarihi Başlangıç tarihi
Katılım
14 Haziran 2007
Mesajlar
6
Excel Vers. ve Dili
excel97 den 2003 e kadar
Merhaba,

Yapmış olduğumuz bir uygulamada MSSQL veritabanına TOTAL = 650,28 değerini insert etmek istiyoruz. Veritabanındaki alan DECIMAL bir alan bu işlemi yaparken CDbl veya Format(TOTAL,"#,##.00") kulandığımızda veritabanına değerin uygun olmadığına dair bir hata alıyoruz. Bu konuda acaba yardımcı olabilecek var mı?

Teşekkürler
 
Merhaba,

XL'deki küsüratlı sayı virgül olarak saklanıyor. Oysa database de küsurat noktalı.
O yüzden veriyi önce bir değişkende virgülü nokta ile değiştirip o değeri aktarın.

Kolay gelsin.
 
Sayın Necdet Bey,

Öncelikle hızlı dönüşünüz için teşekkür ederim. Bahsettiğiniz işlem sanırım Replace yapmak onu da denedim o zaman da 650,28 olan değeri 65.028,00 şeklinde atıyor database'e atarken aşağıda yaptığım işlem mevcuttur.

SUBTOTAL = Format(Sayfa5.Range("K14").Value, "#,##0.00")
SUBTOTAL = Replace(SUBTOTAL, ",", ".")
 
Merhaba,

Sayıyı binlik gruplamadan, yalnız virgülü " . " yaparak deneyin. Ya da "Adodb.Command" kullanın; daha kullanışlı olur.

.
 
Zeki bey açıklamış.

Veriyi biçimlendirmeden virgülü nokta ile değiştirin. Yani veri tabanına atarken 1234.55 olmalı sayısal değer.
 
Veriyi Zeki Bey'inde dediği gibi formatlamadan direkt olarak aşağdıki gibi yapıyorum :

SUBTOTAL = Replace(Sayfa5.Range("K15").Value ,",",".")
Bu sefere datayı 65025 oalrak görüyor direkt bu arada veri tipi olarak double kullanıyorum SUBTOTAL değişkeni için hemen veriyi string tipine çevireyim dedim o şekilde oldu. Çok teşekkür ederim yardımlarınız için
 
Geri
Üst