• DİKKAT

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

ADO ile veri bulma

  • Konbuyu başlatan Konbuyu başlatan Qene
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2006
Mesajlar
245
Excel Vers. ve Dili
Office 2010
English
[vb:1:02b0258aea]Private Sub CommandButton1_Click()
Set CON = New ADODB.Connection
yol = ThisWorkbook.Path & "\"
CON.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & yol & "Veri.xls;Readonly=True"

Set rec = New ADODB.Recordset
rec.Open "SELECT * FROM [Yakinlar$] WHERE Personel ='" & ComboBox1 & "'", CON, 1, 3

rec.MoveFirst 'Diğerinden (Listele)

ListBox1.Clear
While Not rec.EOF
ListBox1.AddItem rec!Yakini
rec.MoveNext
Wend 'Diğerinden (Listele)

rec.Close

Set CON = Nothing
Set rec = Nothing
[/vb:1:02b0258aea]

Üstte excel veritabanı olarak kullandığım bir çalışmamda, bir üstad tarafından yazılmış bir kod var. Buradaki amaç şu. A sütununda yeralan Sütunları Combobox1 de listelemek. Ve butona tıkladığımızda, Listbox a Sütunların bir yanında yer alan bilgiyi getirmek.. Excel de bu kod çalışıyor. Ama Access e uyarlayamadım. Yardım ederseniz minnettar olurum. Saygılar..

Dosya Adı: Veri
Dosya Yolu: E:\
Tablo Adı: Bolumler
Sütun Adı: BK (burada kodlar var)
Sütun Adı: BA (burada kodların isimleri)

Kod numarasını seçince KOd adı otomatik gelsin.
 
Sayın gene

Basit bir örnek yaparak Access bölümünde sorunuzu sorarsanız cevap alabilirsiniz.

İyi çalışmalar :(
 
Access i veritabanı olarak kullanıyorum sadece..
Form excel üzerinde..
Örneği ekleyim hemen :)
Teşekkürler..
 
Dosya Ektedir.
Açıklama:
Access veritabanının ilk sütununda bulduğu verinin yanında olan değeri Combobox2 ye Alacak.

Teşekkür..
 
*.zip olarak yollarmısınız ?
 
Dosya ektedir. İlginize teşekkür ederim Haluk Bey..
 
Bu şekilde bir deneyin ...

Kod:
    Dim adoCN As Object
    Dim RS As Object
    Dim strSQL As String
    Dim DatabasePath As String
'
Private Sub ComboBox1_Change()
    ComboBox2.Clear
    Set RS = CreateObject("ADODB.recordset")
    strSQL = "SELECT * FROM [Bolumler] where BK= '" & ComboBox1.Text & "'"
    RS.Open strSQL, adoCN, 1, 3
    RS.MoveFirst
    Do While Not RS.EOF
        ComboBox2.AddItem RS("BA")
        RS.MoveNext
    Loop
    RS.Close
    Set RS = Nothing
End Sub
'
Private Sub UserForm_Initialize()
    Set adoCN = CreateObject("ADODB.Connection")
    DatabasePath = "E:\Veri.mdb"
    If Dir(DatabasePath) = "" Then
        MsgBox DatabasePath & " bulunamadı, programdan çıkılacak !", vbCritical, "TestMDB"
        Unload Me
        Exit Sub
    End If
    adoCN.Provider = "Microsoft.Jet.OLEDB.4.0"
    adoCN.ConnectionString = DatabasePath
    adoCN.Open
    Call GetData
End Sub
'
Sub GetData()
  Set RS = CreateObject("ADODB.recordset")
  strSQL = "SELECT * FROM [Bolumler] ORDER BY BK"
  RS.Open strSQL, adoCN, 1, 3
  RS.MoveFirst
  Do While Not RS.EOF
     ComboBox1.AddItem RS("BK")
     RS.MoveNext
  Loop
    RS.Close
    Set RS = Nothing
End Sub
'
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If adoCN.State = 1 Then
        adoCN.Close
    Else
        End
    End If
End Sub
 
Haluk Bey, elleriniz dert görmesin. Bu benim için çok büyük bir bilgi.. Allah razı olsun sizden. Saygılar sunarım.. Sağlıcakla kalınız. :dua:
 
Haluk Bey,
kendi örneğime uyarlayınca,
Kod:
Private Sub Txt3_Change()
    Txt4.Clear
    Set RS = CreateObject("ADODB.recordset")
    strSQL = "SELECT * FROM [Bolumler] where BK= '" & Txt3.Text & "'"
    RS.Open strSQL, adoCN, 1, 3
    RS.MoveFirst
    Txt4.Clear
    Do While Not RS.EOF
        Txt4.AddItem RS("BA")
        RS.MoveNext
    Loop
    RS.Close
    Set RS = Nothing
End Sub
kodunun
RS.Open strSQL, adoCN, 1, 3
satrında
"Ölçüt ifadesinde veri türü uyuşmazlığı" hatası verdi. Bir fikriniz var mı? Teşekkürler.. :oops:
 
Problemi çözdüm. Database örnekte gönderdiğim ile birebir aynı olmasına karşın. Silip tekrar yazınca işlem gerçekleşti. :oops:
 
Geri
Üst