esancak828

Normal Üye
Excel Versiyonu
Excel 365
Excel Sürümü
64 Bit
Excel Dili
İngilizce
Merhabalar

Adodb ile excel den veri alıyorum. Aldığım türü sayı ama string olarak alıyor array benim istediğim tür Double nasıl yapabilirim?

Örnek dosya paylaşamadım kusura bakmayın. Bilgisayarımda upload yasağı var dosya paylaşılmıyor.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(19 satır)
 
Çözüm
Ek'li dosyayı inceler misiniz?
Emin değilim ama Execute kısmından kaynaklı olabilir mi bilemedim.
Sizin de hemen üstteki verdiğiniz kod ile dediğim aynı.
Dosya görmeden yorumlamak zor.
Verilerinizin olduğu biçimler sayısaldır diye tahmin ediyorum.

For i = LBound(arr, 2) To UBound(arr, 2) kısmındaki oluşan değerleri yazabilir misiniz?

For i= 1 to 20 gibi şeklinde.
 
Bir de, arr = rs.GetRows satırındaki verilerin en azından bir ekran görüntüsünü ekleseniz.
Vaktim varken, manuel olarak test etmek istiyorum.
Aksi halde iş zorlaşıyor.
 
Bir de, arr = rs.GetRows satırındaki verilerin en azından bir ekran görüntüsünü ekleseniz.
Vaktim varken, manuel olarak test etmek istiyorum.
Aksi halde iş zorlaşıyor.
Böyle olur mu hocam. uğraştığınız için çok çok teşekkür ederim
 

Ekli dosyalar

  • WhatsApp Image 2023-04-27 at 21.38.38.webp
    WhatsApp Image 2023-04-27 at 21.38.38.webp
    31.7 KB · Görüntüleme: 7
Resme dikkat ederseniz, sayıların başında ve sonunda çift tırnak var.
Sorunun kaynağı bu.
CDbl(arr(0, i)) kısmını arr(0, i) * 1 olarak değiştirip dener misiniz?
 
Resme dikkat ederseniz, sayıların başında ve sonunda çift tırnak var.
Sorunun kaynağı bu.
CDbl(arr(0, i)) kısmını arr(0, i) * 1 olarak değiştirip dener misiniz?
Resme dikkat ederseniz, sayıların başında ve sonunda çift tırnak var.
Sorunun kaynağı bu.
CDbl(arr(0, i)) kısmını arr(0, i) * 1 olarak değiştirip dener misiniz?
1682621177283.png

Sorun olmuyor manuel denediğimde, sizde de çalışması gerek.
hocam şimdi şöyle bi sorun var. veriyi çektiğim excelde arr(0,32) yada arr(0,33) deki veriler 0,0644 ve 0,0475 ama benim array 0,064 ve 0,047 olarak gözüküyor. veri türü string olmasa Double olsa sayı tam olarak gözükecek bence
 
Bir ricam olacak, lütfen her mesajda alıntı yapmayınız.
Konu alanının hemen altındaki editörü kullanarak direk cevap yazınız lütfen.

Konu hakkında da, dediğiniz ile bir alakası olacağını düşünmüyorum.
Keza, 0'dan küçük olanlarda büyük olanlarda diziye başında ve sonunda çift tırnak olarak gelmekte.
Bu da, string olduğunun işaretidir.
Sayfadaki verilerinizin biçimini kontrol ettiniz mi?
 
1682622597997.webp


Teknik olarak dediğinizin olması mümkün değil gibi.
Resimde de görebilirsiniz.
Aklıma "neden" kısmına dair başka bir şey gelmiyor inanın :(
Belki diğer yöneticilerimiz destek olurlar.
 
ilgilendiğiniz için teşekkür ederim.
Adodb ile veriyi alırken string olarak geliyor. Veriyi almadan türünü double olarak değiştirebiliyorsa belki 0,0644 olarak gözükür. Diye düşünüyorum
 
Veri sayfanızın ekran görüntüsünü atar mısınız?
Ya da bir kaç veriyi seçip direk buraya kopyalayın.

Kendimde direk kodlarınız ile deneyeceğim, ilginç gerçekten durum.
 
hocam birşey fark ettim. Aşağıdaki gibi tek hücrenin verisini aldım ve istediğim gibi 0,0641 geldi. Nasıl bir şey yapabilirim

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(2 satır)
 
Ek'li dosyayı inceler misiniz?
Emin değilim ama Execute kısmından kaynaklı olabilir mi bilemedim.
Sizin de hemen üstteki verdiğiniz kod ile dediğim aynı.
 

Ekli dosyalar

Çözüm
1682625624832.webp


Olmayanın ne olduğunu anlayamadım.
D sütununda verdiğiniz veriler var, F sütununa ise ADO kodları verileri getirmekte.
DÜŞEYARA ile de sağlamasını görüyorsunuz.
Yani sorun ne sizin tarafta vallahi anlayamadım :(
 
Üst