• DİKKAT

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

connection son satır

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
558
Excel Vers. ve Dili
Office 2024 Türkçe
Merhaba,
aşağıdaki kodla başka bir dosyamda yer alan müşteri listemi userformumdaki bir combobox'a çekiyorum.
Bu çekim sırasında fotodaki gibi, 20.000 satıra kadar çektirtiyorum. Dolu olan son satıra kadar çekmek için kodda yapmam gereken düzeltme hakkında yardımcı olabilir misiniz?
Not : başına tek tırnak koyduğum son ile başlayan satırla denedim ama olmadı.

Kod:
Dim conn As Object, rs As Object
Set conn = CreateObject("Adodb.connection")
Set rs = CreateObject("Adodb.recordset")
etiket18.ComboBox1.Value = ""
conn.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
        "\mk_v5.0.xlsm;extended properties=""excel 12.0;hdr=no"""
'son = Sheets("müşteri_listesi").Cells(Rows.Count, 1).End(3).Row
rs.Open "select * from[müşteri_listesi$f2:20000];", conn, 1, 1
If rs.RecordCount > 0 Then
    etiket2.ComboBox1.Column = rs.getrows
    etiket2.ComboBox1.ListIndex = 0
End If
rs.Close: conn.Close
Set rs = Nothing: Set conn = Nothing

229671
 
"select * from[müşteri_listesi$f2:20000];"
oradaki noktalı virgülü kaldırıp denedin mi?
 
Denedim, farketmedi. Bu arada 20000'in önünde J harfi olacak. Kopyalarken yanlış kopyalamışım.
Doğru şekli şu:
"select * from[müşteri_listesi$f2:j20000];"
 
Aşağıdaki gibi dener misiniz?

"select * from[müşteri_listesi$f2:j];"

.
 
Dosyalarınız bende açılmıyor, bozulmuş herhalde...

.
 
Ben açabiliyorum, deneyip yollamıştım. Anlayamadım neden açılmadığını.
Path gereği aynı klasörde olma zorunluluğu var diyeceğim ama size söylemek biraz komik olacak. :)
Yine de ilginiz için teşekkürler @Haluk bey.
 
C++:
Private Sub UserForm_Initialize()
Dim conn As Object, rs As Object
Set conn = CreateObject("Adodb.connection")
Set rs = CreateObject("Adodb.recordset")
'etiket18.ComboBox1.Value = ""
'Range("A:A").ClearContents
conn.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
        "\mk_v5.0.xlsm;extended properties=""excel 12.0;hdr=no"""
rs.Open "select * from[müşteri_listesi$f2:j] Where F1 is not Null", conn, 1, 1
    'Where F1 is not Null ...eklendi'
If rs.RecordCount > 0 Then
    etiket2.ComboBox1.Column = rs.getrows
    etiket2.ComboBox1.ListIndex = 0
End If
rs.Close: conn.Close
Set rs = Nothing: Set conn = Nothing
End Sub
 
Dosyayı sonunda açabildim..... Sorun, içinde 4-5 tane satır var gibi görünen sayfada yaklaşık 18.000 satır veri var (görünmeyen karakterler)

Bu nedenle, "müşteri_listesi" isimli sayfayı yeniden oluşturursanız kodlarınız çalışır. Bu arada; sayfa adında, dosya adında, sütün etiketinde Türkçe karakter ve boşluk karakteri kullanmamanız sizin için iyi olur.

.
 
Çok haklısınız @Haluk bey. Bu dosyaların hepsi daha önceki yazımda belirttiğim üzere Excel ile ilgili pek bir şey bilmediğim dönemlerden kalma. İnanın az önce size yollamak üzere asıl dosyamdan içerik silmek için tam 10 dakika uğraştım. Asıl dosyamda 12 tane form ve 26 sayfa var. Ayrıca bu dosyadan veri alan 5-6 ayrı dosyam var. Uzun lafın kısası yeniden yapmayı çok istiyorum ama cesaret edemiyorum. :)
 
Geri
Üst