gönderdiğiniz örnekle yazdığınız kodlar arasında hiç bir ilişki yok
1 - gelmesi istenen sorgu Hedef_Gerceklesme_2021 ama
Access çalışmanızda bu sorgu yok
2 - kodda data klasöründe demişsiniz çalışmanızda klasör yok
3 - tablonuzun adı kodda farklı
yani çalışmanız eklemenizi istediğimizde baştan savma hazırlamayın lütfen
"yine hata verdi" demişsiniz ama nerede hata verdiğini belirtmemişsiniz, hatanın açıklamasını da yazmamışsınız
bu kodun her şeyi hatalı
o nedenle dosya yolunu ve adını doğru yazdığınızdan
sorgunun adının doğru olduğundan emin olun
son olarak siz accessin yolu olarak "Data Source=" & ThisWorkbook.Path & "DATA\data.accdb;" yazmışsınız oysa burası
"Data Source=" & ThisWorkbook.Path & "
\DATA\data.accdb;" olmalıydı
\ koymazsanız dosya yolunu yanlış yazar
Bir önceki mesajda da bahsettiğim gibi asıl uğraştığım projeyi paylaşamadığım için örnek dosyalar üzerinden sorularımı sorabiliyorum. Son yazdığım mesajdaki kodlarda esas çalıştığım projeye ait olduğu için örnekteki dosyalar ile farklı oldu. Açıkcası kodlar örnek dosyada çalıştığı, esas projede çalışmadığı için basit bir hata yapıyorum düşüncesi ve hızlıca çözüme ulaşmak için kodları direk kopyalıyım masaj attım. Bu nedenle biraz özensiz oldu ise kusura bakmayın.
Sorun şu ki, örnek dosyada
Excel sayfasında yer alan butona tıklayınca
Access veri tabanından veriler geliyordu. Bunu esas projede
Excel açıldığında veriler gelecek şekilde yapmaya çalıştığımda hata verdi. Sonrasında örnek dosyada da aynı kodu
Excel açılınca çalışacak şekilde kurguladığımda da hata verdiğini fark ettim. Yani örnek dosyadaki kodu aşağıdaki şekilde
Excel açılınca çalışacak şekilde düzenleyince hata veriyor. Ne kadar uğraştıysam da sorunu çözemedim. Yardımlarınızı bekliyorum.
Kod:
Private Sub Workbook_Open()
Dim SQL As String
Dim ADO_RS As ADODB.Recordset
Dim ADO_CN As ADODB.Connection
SQL = "SELECT * FROM Sorgu1 WHERE Ad = 'Fatih'"
Set ADO_RS = New ADODB.Recordset
Set ADO_CN = New ADODB.Connection
ADO_CN.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.Path & "\Örnek.accdb;"
ADO_CN.Open
ADO_RS.Open SQL, ADO_CN, 3, 1 ' güncelleme yapabilmek için 1,3 0lmalı yada adOpenKeyset, adLockOptimistic
Sheets("Sayfa1").Range("A4") = ADO_RS.Fields("Ad")
ADO_RS.Close
ADO_CN.Close
Set ADO_RS = Nothing
Set ADO_CN = Nothing
SQL = "SELECT Ad FROM Sorgu2"
Set ADO_RS = New ADODB.Recordset
Set ADO_CN = New ADODB.Connection
ADO_CN.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.Path & "\Örnek.accdb;"
ADO_CN.Open
ADO_RS.Open SQL, ADO_CN, 3, 1 ' güncelleme yapabilmek için 1,3 0lmalı yada adOpenKeyset, adLockOptimistic
Range("A6").CopyFromRecordset ADO_RS
ADO_RS.Close
ADO_CN.Close
Set ADO_RS = Nothing
Set ADO_CN = Nothing
SQL = "SELECT Soyad FROM Sorgu2"
Set ADO_RS = New ADODB.Recordset
Set ADO_CN = New ADODB.Connection
ADO_CN.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.Path & "\Örnek.accdb;"
ADO_CN.Open
ADO_RS.Open SQL, ADO_CN, 3, 1 ' güncelleme yapabilmek için 1,3 0lmalı yada adOpenKeyset, adLockOptimistic
Range("C6").CopyFromRecordset ADO_RS
son:
ADO_RS.Close
ADO_CN.Close
Set ADO_RS = Nothing
Set ADO_CN = Nothing
End Sub
yukardaki kodu ilk mesajınızdaki
Excel dosyasının açıldığında olayına yazdım
açıldığında sorunsuz şekilde verileri aldı
sorun sizin dosya adresinde, adında yada tablolarınızda olabilir