- Katılım
- 31 May 2022
- Mesajlar
- 2,082
- Çözümler
- 365
- Aldığı beğeni
- 2,565
- Excel V
- Office 2007 TR
Konu Sahibi
Direkt Access'ten bir kere veriler tablo olarak alındığında, kodların koyu şekilde belirtilmiş Kısımına gerek yok.
Kodların silinecek kısmını, klasör indirildiğinde Access dosyasının yolu değişeceğinden ekledim..
Not: Aynı şekilde SQL serverden veri alınırken de kullanılabilinir.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$1" Then
With Range("A1").ListObject.QueryTable
.Connection = Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & ThisWorkbook.Path & "\db.accdb;Mode=Share Deny Write;E" _
, _
"xtended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=6;Jet OLEDB
atabase Locking" _
, _
" Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Cr" _
, _
"eate System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB
on't Copy Locale on Compact=False;Jet OLEDB:Compact Witho" _
, _
"ut Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet " _
, "OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False" _
)
.CommandType = xlCmdSql
.CommandText = "SELECT * FROM Sayfa1 WHERE gun='" & Range("K1") & "'"
.Refresh BackgroundQuery:=False
End With
End If
End Sub
Kodların silinecek kısmını, klasör indirildiğinde Access dosyasının yolu değişeceğinden ekledim..
Not: Aynı şekilde SQL serverden veri alınırken de kullanılabilinir.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$1" Then
With Range("A1").ListObject.QueryTable
.Connection = Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & ThisWorkbook.Path & "\db.accdb;Mode=Share Deny Write;E" _
, _
"xtended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=6;Jet OLEDB

, _
" Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Cr" _
, _
"eate System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB

, _
"ut Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet " _
, "OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False" _
)
.CommandType = xlCmdSql
.CommandText = "SELECT * FROM Sayfa1 WHERE gun='" & Range("K1") & "'"
.Refresh BackgroundQuery:=False
End With
End If
End Sub
Ekli dosyalar
Son düzenleme: