Çözüldü İki Ayrı Kapalı dosyadan Veri Çekme Hatası

okan32

Altın Üye
Katılım
12 Mayıs 2016
Mesajlar
368
Excel Vers. ve Dili
Ofis 2019- 32 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
16-04-2026
Hayırlı Cumalar Arkadaşlar.
Klasörde iki ayrı veri çekilecek dosyam bulunmaktadır. bu iki kapalı dosyadan verileri çekmek istiyorum. Çok uğraşmama rağmen yapamadım hata veriyor. yapmak istediğim gerekli açıklamaları dosya içerisinde yaptım. Yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Bağlantı yolunda belirtilen dosya yok. Bu kısmı düzelterek deneyin.

Kod:
 Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.Path & "\kaynak.xls"
 

okan32

Altın Üye
Katılım
12 Mayıs 2016
Mesajlar
368
Excel Vers. ve Dili
Ofis 2019- 32 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
16-04-2026
Sayın kuvari ilginiz için teşekkür ederim. Ama benim iki tane kapalı dosyam var burada ise tek dosya yolu yazabiliyorum. İki dosya yolunu nasıl yazabilirim.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
MaasBanka dosyasından aşağıdaki gibi veri alabilirsiniz.

Kod:
Sub Veri_çek()
    Dim Con As Object, Rs As Object, Sorgu As String
    Set Con = CreateObject("AdoDB.Connection")
    Set Rs = CreateObject("AdoDB.RecordSet")
    Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.Path & "\MaasBanka.xls" & _
    ";Extended Properties=""Excel 12.0;Hdr=yes"""
    
  
    Sorgu = "Select [PERSONEL AD-SOYAD], [PERSONEL UNVANI], [PERSONEL TC KİMLİK NO],[IBAN NUMARASI],[TUTAR] From [Sayfa1$A9:N10000]"
       Rs.Open Sorgu, Con, 1, 3
    Range("A4").CopyFromRecordset Rs
    Rs.Close: Con.Close
    Sorgu = vbNullString: Set Rs = Nothing: Set Con = Nothing
End Sub
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
İki dosyaya tek bir bağlantı ile erişemezsiniz.

Con.close yaparak tekrar bağlantı kurmanız gerekecek.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,383
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Eğer verilerin alınacağı 2 tablodaki alanlar (sütunlar) eşit sayıda olsaydı SQL sorgusunda UNION ile tabloları birleştirip, tek sorguda veriler alınabilirdi.

Durum böyle olmadığı için kuvari'nin dediği gibi 2 ayrı sorgu yapılması gerekiyor.

.
 

okan32

Altın Üye
Katılım
12 Mayıs 2016
Mesajlar
368
Excel Vers. ve Dili
Ofis 2019- 32 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
16-04-2026
Çoooook Teşekkür ederim kuvari bey ve Haluk Bey verdiğiniz kodda düzenleme yaparak problemi çözdüm
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Eğer verilerin alınacağı 2 tablodaki alanlar (sütunlar) eşit sayıda olsaydı SQL sorgusunda UNION ile tabloları birleştirip, tek sorguda veriler alınabilirdi.

Durum böyle olmadığı için kuvari'nin dediği gibi 2 ayrı sorgu yapılması gerekiyor.

.
Haluk bey merhaba,

Farklı excel dosyalarındaki verileri farklı bağlantılar ile erişerek sorguda birleştirme imkanı oluyor mu? Bana olmaz gibi geliyor.
 

okan32

Altın Üye
Katılım
12 Mayıs 2016
Mesajlar
368
Excel Vers. ve Dili
Ofis 2019- 32 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
16-04-2026
Kuvari bey iki ayrı sorgu oluşturdum ve birliştirerek oldu.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,383
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Haluk bey merhaba,

Farklı excel dosyalarındaki verileri farklı bağlantılar ile erişerek sorguda birleştirme imkanı oluyor mu? Bana olmaz gibi geliyor.
Veri alınacak tabloların yapısı uygunsa, UNION kullanarak tek bir bağlantı, tek bir sorgu ile yapılabilir ......

Örnek dosya ektedir,

.
 

Ekli dosyalar

okan32

Altın Üye
Katılım
12 Mayıs 2016
Mesajlar
368
Excel Vers. ve Dili
Ofis 2019- 32 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
16-04-2026
İlginiz ve vermiş olduğunuz bilgiler için çok teşekkür ederim Haluk Bey
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Haluk Bey,

Bu kodlama yöntemi ile sadece Union 'mı yapabiliyoruz.
Left join'i denedim ama olmadı.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,383
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Haluk bey sağolun.
İlgili dosyayı daha önce incelemiştim.
Left join yapmak biraz daha zor gibi geliyor yapısı itibari ile.
Belki Zeki bey bu yazdıklarımızı okur ve varsa çözüm sunar. :)
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,383
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@Zeki Gürsoy mutlaka daha güzel örnekler verir çünkü kendisi bu konularda oldukça iyidir. Ama şimdilik, az önce hazırladığım ekli dosyaları inceleyebilirsiniz.

Burada yapılan iş özetle; Report.xlsm dosyasındaki kod (SQL - Left Join) ile, kapalı durumdaki Source1.xlsx dosyasındaki Ad, Soyad, Tel, Adres verilerinin tamamıyla birlikte, Source2.xlsx dosyasındaki mevcut verilerden Source1.xlsx dosyasındaki Ad ile eşleşen E-Mail, TC No ve Referans verileri listelenmektedir.

.
 

Ekli dosyalar

Son düzenleme:

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Haluk bey çok iyi düşünmüşsünüz.
Mükemmel bir çözüm, elinize sağlık.
Bu iki çözümü'de ADO meraklıları arşivlemeliler.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,383
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tekrar merhaba;

Bu kez; yukarıda 17 No'lu mesajdaki SQL - Left Join kullanılan sorgulamayı/raporlamayı biraz daha geliştirdim.

Ekli Report2.xlsm dosyasındaki kodla, 17 No'lu mesajda belirtilen Source1.xlsx ve Source2.xlsx dosyalarındaki verilere ilave olarak, bu kez Source3.xlsx dosyasındaki dosyasındaki mevcut verilerden Source1.xlsx dosyasındaki Ad ile eşleşen Anne Adı ve Baba Adı verileri de listelenmektedir.

Özet olarak; Report2.xlsm dosyasına yazılan kodla, diğer 3 adet dosyada Source1.xlsx dosyasındaki Ad ile eşleşen tüm veriler listelenebilmektedir.

.Untitled.png
 

Ekli dosyalar

Son düzenleme:

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,604
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Haluk bey elinize sağlık.
Kod değil efsane.
 
Üst