ADO ile veri çekerken sayı görüyor metin gelmiyor

Kekoli

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Altın Üyelik Bitiş Tarihi
11-02-2025
Merhaba,

kapalı dosyadan ADO ile veri çekmeye çalışıyorum.
Fakat aynı sütunda bulunan metin değerleri gelmiyor.

veri setinin hepsini (sayılar dahil) metin olarak çek demem mümkün mü?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
ADO kullanıyorsanız sütunlardaki bilgiler ya tamamı METİN olmalı, ya da tamamı SAYI olmalıdır. Yani veritabanı kuralı vardır.

IMEX=1 komutunu araştırın. Belki işinize yarar.
 

Kekoli

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Altın Üyelik Bitiş Tarihi
11-02-2025
ADO dışında kapalı dosyadan veri çekmenin en hızlı ve sağlıklı yolu nedir bu durumda?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bana sorarsanız kapalı dosyayı gizli şekilde açıp verileri almaktır.
 

Kekoli

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Altın Üyelik Bitiş Tarihi
11-02-2025
Manuel olarak diyorsunuz?
Benim niyetim şu aslında, mapping verileri var. bazı sayılara bazı metinsel ifadeler tanımlanıyor. buralardan da rapor oluşturuyorum.
fakat yeni eklenen mapping verilerinden benim haberim olmuyor. dolayısıyla ben de mapping dosyasını komple kendi çalışmamın içine o dosyadan çektireyim her çalıştığımda, bir daha kimseye sormayayım dosyayı güncellediniz mi? ne eklediniz? nereye eklediniz? gibi. direk benim dosyama aksın veriler. bunu da manuel bir şekilde yapmak istemiyorum. zamandan kazanmak ve kontrolü bu konuda bilgisayara bırakmak istiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben manuel demedim ki!

Kapalı dosyayı gizli şekilde elle nasıl açmayı düşündünüz.

Kodla kapalı dosya gizli şekilde açılır veriler kendi dosyanıza alınır ve gizli dosya kapanır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek çözümler;

 

Kekoli

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Altın Üyelik Bitiş Tarihi
11-02-2025
Ben manuel demedim ki!

Kapalı dosyayı gizli şekilde elle nasıl açmayı düşündünüz.

Kodla kapalı dosya gizli şekilde açılır veriler kendi dosyanıza alınır ve gizli dosya kapanır.
cahillik hocam, kızmayın.
öğreneceğiz böyle böyle.

aramaya başlayayım, bulurum diye umut ediyorum.
kolayınızda varsa durumu anlatan bir link çok memnun olurum.

teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Önceki mesajımda linkler paylaştım.
 

Kekoli

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Altın Üyelik Bitiş Tarihi
11-02-2025
Hocam tekrar selam, eski konuları hortlatmak yerine buradan sormak istedim.
başlıklardaki kodları uyarlayarak güzel bir şekilde çalıştırdım istediğim şeyi. çok teşekkürler.

fakat önce masaüstümdeki herhangi bir dosyada denediğim için "KAPALI DOSYA şimdi kullanmaya uygun" gibi bir uyarı veriyor işlemler bittikten sonra.
daha sonra cancel desem de, yazmak için aç desem de dosyayı açmaya çalışıyor. bunu engellemenin bir yolu var mı?
(muhtemelen ağdaki read only açabildiğim dosyada bu hatayı vermeyecektir. ama yine de sorayım dedim.)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Gizli olarak açtığınız nesneyi kapatıp çıkış yapmalısınız.

Uyarladığınız kodu ya da dosyayı paylaşırsanız sorunu bulmamız daha kolay olur.
 

Kekoli

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Altın Üyelik Bitiş Tarihi
11-02-2025
Kod:
Option Explicit

Sub Verileri_Aktar()
    Dim Yol As String, XL_App As Object, S1 As Worksheet, Zaman As Double
    Dim K2 As Workbook, S2 As Worksheet, Satir As Long, Son As Long
      
    Zaman = Timer
 
    Set S1 = Sheets("Sheet1")
      
    Yol = "d:\users\K_ISPA1\Desktop" & "\KAPALI DOSYA.xlsx"

    Set XL_App = CreateObject("Excel.Application")

    XL_App.Visible = False
    Set K2 = XL_App.Workbooks.Open(Yol)
    
    Set S2 = K2.Sheets("Sheet1")

    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    
    Satir = S2.Cells(S2.Rows.Count, 1).End(3).Row
    
    'S1.Range("A" & Son).Resize(Son - 4, 4).Value = S2.Range("A5:D" & Satir).Value
     S1.Range("A1:" & "A" & Satir).Value = S2.Range("A1:" & "A" & Satir).Value
    
    K2.Close True
    
    Set S1 = Nothing
    Set S2 = Nothing
    Set K2 = Nothing
    Set XL_App = Nothing
    
    MsgBox "Veri aktarımı tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub


daha alanları düzenlemedim ama. sizin çalışmanızda kapalı dosyaya yazıyordu, ben kapalı dosyadan çekecek şekilde ayarlamaya çalıştım kendimce küçük bir iki hareket yaparak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Şu şekilde deneyiniz.

K2.Close True
XL_App.Quit
 
Üst