ADO + vlookup

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
553
Excel Vers. ve Dili
Office 2024 Türkçe
Altın Üyelik Bitiş Tarihi
17-05-2028
Merhaba,
ekli iki dosyamdan alan.xlsm, veren.xlsm kapalıyken ADO ile combobox1'e liste alıyor.

Yapmaya çalıştığım, listeden kimi seçersem o listenin yan sütunundaki veriyi de label1'e caption olarak yazdırmak.
Yardımcı olur musunuz?
Teşekkürler.

ADO ile veri almamı sağlayan kodlar:
Kod:
Private Sub UserForm_Initialize()
Dim conn As Object, rs As Object
Set conn = CreateObject("Adodb.connection")
Set rs = CreateObject("Adodb.recordset")
conn.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
        "\connection_veren.xlsm;extended properties=""excel 12.0;hdr=no"""
rs.Open "select * from[sayfa1$f2:j] Where F1 is not Null", conn, 1, 1
If rs.RecordCount > 0 Then
    liste.ComboBox1.Column = rs.getrows
    liste.ComboBox1.ListIndex = 0
End If
rs.Close: conn.Close
Set rs = Nothing: Set conn = Nothing
End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,316
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Private Sub ComboBox1_Change()
    Label1.Caption = Empty
    
    If ComboBox1 <> "" Then
        Dim Baglanti As Object, Kayit_Seti As Object
        
        Set Baglanti = VBA.CreateObject("AdoDb.Connection")
        Set Kayit_Seti = VBA.CreateObject("AdoDb.Recordset")
        
        Baglanti.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & ThisWorkbook.Path & _
                      "\Connection_veren.xlsm;Extended Properties=""Excel 12.0;Hdr=No"""
        
        Kayit_Seti.Open "Select F2 From [Sayfa1$F2:J] Where F1 = '" & ComboBox1.Value & "'", Baglanti, 1, 1
        
        If Kayit_Seti.RecordCount > 0 Then
            Label1.Caption = Kayit_Seti.Fields(0).Value
        End If
        
        Kayit_Seti.Close
        Baglanti.Close
        
        Set Kayit_Seti = Nothing
        Set Baglanti = Nothing
    End If
End Sub

Private Sub UserForm_Initialize()
    Dim Baglanti As Object, Kayit_Seti As Object
    
    Set Baglanti = VBA.CreateObject("AdoDb.Connection")
    Set Kayit_Seti = VBA.CreateObject("AdoDb.Recordset")
    
    Baglanti.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & ThisWorkbook.Path & _
                  "\Connection_veren.xlsm;Extended Properties=""Excel 12.0;Hdr=No"""
    
    Kayit_Seti.Open "Select * From [Sayfa1$F2:J] Where F1 Is Not Null", Baglanti, 1, 1
    
    If Kayit_Seti.RecordCount > 0 Then
        liste.ComboBox1.Column = Kayit_Seti.GetRows
        liste.ComboBox1.ListIndex = 0
    End If
    
    Kayit_Seti.Close
    Baglanti.Close
    
    Set Kayit_Seti = Nothing
    Set Baglanti = Nothing
End Sub
 

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
553
Excel Vers. ve Dili
Office 2024 Türkçe
Altın Üyelik Bitiş Tarihi
17-05-2028
Teşekkür ederim Korhan bey, gayet güzel çalışıyor.
Saygılar.
 
Üst