Tüm Versiyonu Göster : Excel ile Access in iki tablosundan veri almak
Bir buton komutu ile Excel den Accessin iki tablosundan veri almak istediğimizde iki kayıt kümesi olamayacağı ile ilgili hata alıyorum. Elinde küçük bir örnek olan varmı?
red_lion_72
13-01-2007, 13:47
selam,
http://www.excel.web.tr/showthread.php?t=23558
linkte bir örnek var bi bakın isterseniz.
Kolay gelsin.
Sayın red_lion72 ilginize teşekkürler.
Vermiş olduğunuz linkteki örneğe göre konuşursak,
vt1.mdb dosyasındaki Tablo1 den tüm kayıtlar alınabilir ancak birde Tablo2 içinde veriler olduğunu düşünelim. Excelden userform a her iki tablodan veri çağırmak istiyorum.
Merhaba;
Şöyle bir şeyler yapılabilir ....
- Access dosyamızın bilgisayardaki konumu aşağıdaki gibi olsun:
C:\TestDB\MyDB.mdb
- Bu "mdb" dosyasında 2 adet tablomuz ve bazı alanlar olsun,
- MyTable1 tablosunda; isim - soyad - tel alanları olsun,
- MyTable2 tablosunda; meslek - adres- TCKimlikNo alanları olsun,
- UserForm üzerinde 2 adet ListBox olsun,
- UserForm modülüne aşağıdaki kodları girin ve UserForm'u çalıştırın. UserForm üzerinde aynı "mdb" dosyasındaki 2 adet tablodaki ilgili veriler UserForm üzerindeki 2 adet ListBox' da ayrı ayrı listelenecektir.
Private Sub UserForm_Initialize()
Dim DatabasePath As String
Dim adoCN As Object
Dim RS As Object
Dim X As Long
Dim Y As Long
ListBox1.ColumnCount = 3
ListBox2.ColumnCount = 3
DatabasePath = "C:\TestDB\MyDB.mdb"
If Dir(DatabasePath) = "" Then
MsgBox DatabasePath & " bulunamadı, programdan çıkılacak !", vbCritical, "TestMDB"
Unload Me
Exit Sub
End If
Set adoCN = CreateObject("ADODB.Connection")
adoCN.Provider = "Microsoft.Jet.OLEDB.4.0"
adoCN.ConnectionString = DatabasePath
adoCN.Open
Set RS = CreateObject("ADODB.recordset")
strSQL = "SELECT * FROM [MyTable1]"
RS.Open strSQL, adoCN, 1, 3
RS.MoveFirst
Do While Not RS.EOF
ListBox1.AddItem
ListBox1.Column(0, X) = RS("isim")
ListBox1.Column(1, X) = RS("soyad")
ListBox1.Column(2, X) = RS("tel")
RS.MoveNext
X = X + 1
Loop
RS.Close
strSQL = "SELECT * FROM [MyTable2]"
RS.Open strSQL, adoCN, 1, 3
RS.MoveFirst
Do While Not RS.EOF
ListBox2.AddItem
ListBox2.Column(0, Y) = RS("meslek")
ListBox2.Column(1, Y) = RS("adres")
ListBox2.Column(2, Y) = RS("TCKimlikNo")
RS.MoveNext
Y = Y + 1
Loop
RS.Close
adoCN.Close
Set RS = Nothing
Set adoCN = Nothing
End Sub
Teşekkürler.. hemen denicem.
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.