• DİKKAT

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

Ado ile SQL Bağlantısı ve İlginç Bir Sorun

  • Konbuyu başlatan Konbuyu başlatan bezl
  • Başlangıç tarihi Başlangıç tarihi
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Ado ile SQL Bağlantısı ve Ýlginç Bir Sorun

Ado ile Sql'den veri alıp bir sayfaya getiriyoruz. Sayfa7 olarak gözüken sayfanın C sütununa sql'de decimal olarak tanımlanmış ytl tutarı kısmı geliyor. Bir Ado ile getirmeden önce aşağıdaki kodla eski veriyi siliyor ve yenisini getirtiyoruz.
Kod:
Sheets(7).Select
Range("A3:IV65536").Select
Selection.ClearContents
Range("A1").Select
Sorun şu bu c sütununa gelen veri ondalık sayı olmasına rağmen bu sütunun hepsi tarih olarak formatlanıyor. Yukarıdaki silme işlemini gerçekleştirmese tarih formatını 2 ondalıklı sayı yaptığımızda veriyi getirdiğimizde bir sorun olmuyor ama yukarıdaki silmenin içeriği silme dışında bir işlem yaptığı yok. Aynı zamanda bu tutar verisini c hariç bir sütuna getirdiğimizde de sorun yok. 7 sayfa dışındaki bir sayfa aynı veriyi yine c sütununa getirdiğimizde yine sorun yok.
Bu konu ile ilgili bir yorumu olan varsa seviniriz. Makro ile sorun sonradan düzeltilebiliyor tabii ki ama olayın ne olduğunu anlamayadımızdan tabir yerindeyse kafayı yedik.
Þimdiden teşekkürler...
 
Sheets(7).Select
Range("A3:IV65536").Select
Selection.ClearContents
Selection.NumberFormat = "#,##0.00"
Range("A1").Select

Birde böyle deneyin.
 
Ã?nceden her ne şekilde olursa olsun Date / Tarih olarak formatlanmış hücre "ClearContents" ile silseniz sadece içindekini siliyorsunuz. Formatını silmiyorsunuz. Oysa diğer hücreler hep "Genel" / "General" default olarak formatlanmıştır.
Bu nedenle
"Selection.ClearContents" yerine

"Selection.Clear" kullanın.
 
Ama ben 2 ondalıklı sayı olarak biçimlendirdikten sonra makroyu yine çalıştırıyorum yine tarihe döndürüyor ve dediğim gibi başka bir şekilde halledilebilir ama buradaki sorun nereden kaynaklanıyor onu öğrenmek istiyorum. Mesela sizin yukarıda verdiğiniz örnek yine bir işe yaramıyor çünkü silme işleminden sonra ne oluyorsa oluyor ben silme işleminden sonra çalışan makronun sonuna koyunca oluyor. Ama aralıkta biçimlendirme ile ilgili hiçbir kod yok, bunu anlamıyorum hadi gelen veriden kaynaklanıyor desem bütün sütun tarih olarak formatlanıyor.
 
Veri tabanındaki Alanın / Field'in özelliği ne? Yani Number mı? Date mi?
 
Yukarıda belirtmiştim TDBFLOAT (decimal) uzunluk 13
 
Gerçekten ilginç...
Size kolay gelsin.
 
Geri
Üst