• DİKKAT

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

Listboxa recordset teki veriyi almak

  • Konbuyu başlatan Konbuyu başlatan Orion1
  • Başlangıç tarihi Başlangıç tarihi

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
toolboxtan msforms2 listbox nesnesi ekledim fomuma.
Aşağıdaki kodlarla db'den verileri alıyorum.Bunda sorun yokta(msgboxla denedim.Çalışıyor) listboxa verileri alamadım.
Listboxa verileri nasıl alabilirim.EXCEL vba da oluyordu ama bunda olmadı.additem metodunu desteklemiyor.Herhalde veriler başka metodla alınıyor.
En hızlı ve doğru olarak verilerimi listboxa nasıl alabilirim.
Teşekkür ederim.

Kod:
Private Sub Komut1_Click()
Dim x As Long
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
ListBox0.Value = ""
Set conn = New ADODB.Connection
conn.Open "Provider=microsoft.jet.oledb.4.0;data source=" & Application.CurrentProject.FullName
Set rs = New ADODB.Recordset
rs.Open "select * from tblveriler;", conn, 1, 3
rs.MoveFirst
Do While Not rs.EOF
    ListBox0.AddItem
    ListBox0.List(x, 0) = rs(0)
    ListBox0.List(x, 1) = rs(1)
    x = x + 1
    rs.MoveNext
Loop
rs.Close
Set rs = Nothing
 
End Sub
 
Evren Bay,

Bir de şunu deneyin:

Kod:
With Me.ListBox0
.RowSourceType = "Value list"
.RowSource = rs(0), rs(1)
End With
 
Evren Bay,

Bir de şunu deneyin:

Kod:
With Me.ListBox0
.RowSourceType = "Value list"
.RowSource = rs(0), rs(1)
End With
teşekkür ederim.
Alttaki satırda kırmızı boyuyor hata veriyor.Sanırım virgülü kabul etmiyor.
Kod:
.RowSource = rs(0), rs(1)
 
Basit bir örnek ekleyebilir misiniz?

İyi çalışmalar
 
Evren Bey,

Kodlar aşağıda:

Kod:
Private Sub Komut1_Click()
Dim x As Long
Dim rs As New ADODB.Recordset


rs.Open "tblveriler", CurrentProject.Connection, adOpenDynamic, adLockReadOnly
rs.MoveFirst

Do While Not rs.EOF
With Me.Liste3
.RowSourceType = "Value list"
.RowSource = Liste3.RowSource & rs(0) & ";" & rs(1) & ";"
End With
rs.MoveNext
Loop
rs.Close

End Sub

İyi çalışmalar
 
Teşekkürler üstadım.oldu.
Burada dikkatimi çeken bir noktada connection tanımlamamız.Demekki direk access dosyası olduğu için böyle davranıyor.Peki başka bir dosyadaki veritabanına erişmek isteseydik o zaman tanımlama provider ve datasource yapıcakmıydık?
 
Çeşitli yolları var biri de şöyle:

Slayt 10 .O {font-size:149%;}
Kod:
'conn u bir ADODB bağlantı olarak tanımlıyoruz -
Dim conn As ADODB.Connection
' conn ile bir bağlantı oluşturuyoruz -
Set conn = New ADODB.Connection
' hangi sağlayıcıyı kullanacağımızı anlatıyoruz  -
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
' bağlantı yardımıyla veritabanını açıyoruz -
conn.Open "c:/modali/deneme.mdb"
' bir kayıt kümesi tanımlıyoruz -
Dim myTableRS As ADODB.Recordset
' kayıt kümesini oluşturuyoruz - 
Set myTableRS = New ADODB.Recordset
' kayıt kümesini, bağlantı ve veritabanı yardımıyla aşıyoruz
myTableRS.Open “tblDeneme", conn, adOpenDynamic, adLockPessimistic
 
Üstadım bunu(connection) başka mdb dosyasını açmak için kullanıyoruz diilmi.(Mecburmu?benim kanaatim bu olmadan olmaz.)
Ama curruntproject dosyasında bunlara gerek yok.Doğrumudur?
 
Evet ilk örnekte nasıl bağlandık?
 
Üstadım teşekkür ederim.
Ben zaten excelde bağlanıyorum.Access için nasıl olur onu bilmiyordum.Burada aktif dosyadaki bağlantı diğerinden farklı oluyor.Bunuda görmüş olduk.Ayrıca listboxa veriyi almayı öğrendik.
İyi akşamlar.
 
Geri
Üst