• DİKKAT

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

Accesten veri çekme

ozgurpeh

Altın Üye
Katılım
30 Eylül 2007
Mesajlar
383
Excel Vers. ve Dili
2010 Türkçe
Merhaba,

Excel üzerinden Accesten data çekmek istiyorum herşey tamam üst başlıklar geliyor fakat veriler gelmiyor. Sebebi ne olabilir ?
 
Merhaba,
Veri tabanı boş olabilir.
Başlıklar için kod yazmışsınızdır ama veri yüklemeyle ilgili kodlar olmayabilir/yanlış olabilir.
Normalde kod hatalıdır fakat On Error Resume Next varsa kod çalışıyormuş gibi görünebilir.
.
.
.

Sorunuz çok açık uçlu, bir dosya ya da en azından kodları ekleyebilirseniz daha net yardım alabilirsiniz.
 
Şöyle Sorayım o halde acces üzerinde bir tabloyu bir dosya içerisinde belli bir sayfaya nasıl makro ile çekebilirim
 
veri tabanı uzantısı accdb uzantılı olanlar için ne yapılmalı ?
 
Gönderdiğim dosya .accdb uzantısına göre zaten.
 
dosya biçimi hatalı hatalı diyor. Ben üzerinden kurcalarım biraz çok teşekkürler
 
Merhaba, kodları ve resimleri göndereyim siz onlara bakarak benim yaptığımı anlarsınız.

Aşağıdaki kodu bir modülün içine yapıştırıp çalıştırın.
Not: Excel dosyası ile veri tabanı aynı yerde olsunlar, ayrıca gerçek dosya üzerinde işlem yapacaksanız yedeğini almayı unutmayın.

İyi çalışmalar...

Kod:
Sub accessVeriAl()
Dim baglan As ADODB.Connection
Dim ks As ADODB.Recordset

Set baglan = New ADODB.Connection
Set ks = New ADODB.Recordset

baglan.Open ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & ThisWorkbook.Path & "\data.accdb")
sorgu = "SELECT * FROM tbl"
 
ks.Open sorgu, baglan, 3, 1
For i = 1 To ks.Fields.Count
Cells(1, i) = ks.Fields(i - 1).Name
Next

Range("A2").CopyFromRecordset ks

End Sub
 

Ekli dosyalar

Exceldeki eski verileri silerek yüklesin istiyorsanız şu kodları kullanabilirsiniz:

Kod:
Sub accessVeriAl()
Dim baglan As ADODB.Connection
Dim ks As ADODB.Recordset

Set baglan = New ADODB.Connection
Set ks = New ADODB.Recordset

baglan.Open ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & ThisWorkbook.Path & "\data.accdb")
sorgu = "SELECT * FROM tbl"
 
ks.Open sorgu, baglan, 3, 1

[COLOR="Red"]For i = 1 To ks.Fields.Count
    Columns("A:A").Offset(0, i - 1).Select
    Selection.ClearContents
Next
[/COLOR]
For i = 1 To ks.Fields.Count
    Cells(1, i) = ks.Fields(i - 1).Name
Next

Range("A2").CopyFromRecordset ks

End Sub
 
Geri
Üst