• DİKKAT

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

ADO ile veri çağırmak.

Katılım
6 Nisan 2012
Mesajlar
12
Excel Vers. ve Dili
office 2010 türkçe
Selamlar Aşağıdaki kodu uygulayarak diğer dosyamdan veri okutmaya çalışıyorum ama ISAM bulunamadı hatası ile karşılaşıyorum.
Nerede hata yapmış olabilirim acaba.

Kod:
Private Sub CommandButton1_Click()
'Tools referanslardan microsoft activex dataobject 6 library seçildi
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Range("A3:AI3").Clear
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\MIKRONIZE.xlsm;extended properties=""excel 14.0;hdr=yes;"""
rs.Open "select * from [Data$] where TARİH like '" & "01.04.2012" & "%';", conn, adopendynamic, adlockoptimistic
Range("A3").CopyFromRecordset rs
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
 
Son düzenleme:
Bu ADO - DOA işlemlerinin temelini anlatan bir video ders falan var mı acaba? Çok istiyorum şu işlemleri öğrenmeyi ama mantığını bir türlü oturtamadım kafama.
 
ISAM hatasını düzelttim. ancak bu sefer dosyanın beklenen biçimde değil hatası veriyor. sanırım xlsm makro içerdiği için bu hatayı veriyor xls olunca
sorun yok.
Çözüm önerilerinizi bekliyorum.
 
Kodu Aşağıdaki gibi yaptım ama ISAM hatasını yine alıyorum.

Kod:
Private Sub CommandButton1_Click()
'Tools referanslardan microsoft activex dataobject 6 library seçildi
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Range("A3:AI3").Clear
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\MIKRONIZE.xlsm;extended properties=""excel 14.0 Makro;hdr=yes;"""
rs.Open "select * from [Data$] where TARİH like '" & "01.04.2012" & "%';", conn, adopendynamic, adlockoptimistic
Range("A3").CopyFromRecordset rs
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
 
Dosyada açılış parolası olmamalı.
 
[ conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\MIKRONIZE.xlsm;extended properties=""excel 14.0 Makro;hdr=yes;""" ]
bu kısımı:
conn.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\MIKRONIZE.xlsm;extended properties=""excel 12.0 Makro;hdr=yes;"""
olarak değiştiriniz.
 
Dosyada açılış parolası olmamalı.
Şifreli bir dosya değil zaten.
[ conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\MIKRONIZE.xlsm;extended properties=""excel 14.0 Makro;hdr=yes;""" ]
bu kısımı:
conn.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\MIKRONIZE.xlsm;extended properties=""excel 12.0 Makro;hdr=yes;"""
olarak değiştiriniz.

Dediğiniz gibi değiştirdim ama Yüklenebilir ISAM bulunamadı hatası alıyorum yine.

Tools Referance lardan hangilerini yüklemem gerekli acaba sanırım orda bir hata var.
 
Kodu Aşağıdaki gibi yapınca çalıştı.
Sanırım Küçük büyük harf duyarlılığı var.
Kod:
Private Sub CommandButton1_Click()
'Tools referanslardan microsoft activex dataobject 6 library seçildi
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Range("A3:AI3").Clear
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\MIKRONIZE.xlsm;Extended Properties=""Excel 12.0 Macro;HDR=YES;"""
rs.Open "select * from [Data$] where TARİH like '" & "01.04.2012" & "%';", conn, adopendynamic, adlockoptimistic
Range("A3").CopyFromRecordset rs
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
 
Geri
Üst