Şifreli Access veritabanına bağlantı

Katılım
30 Ekim 2010
Mesajlar
108
Excel Vers. ve Dili
2007 Türkçe
Kod:
tt = AYARLAR.TextBox2.Value
Dim con As Object, rs As Object
Set con = CreateObject("adodb.connection")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & tt & ";"
http://dosya.co/vboyyi88ra2w/XED_FORM.accdb.html
Access dosyasının şifresi = 123456

yukarıdaki kod ile dosyaya nasıl bağlanabilirim. Birçok kod denedim ama devamlı şifre yanlış uyarısı alıyorum.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,295
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Örnek kod;

Kod:
    Set AdoCN = CreateObject("ADODB.Connection")
    Dosya_Yolu = "C:\Shared\DEPO\2017\STOKLAR.mdb"
    AdoCN.Provider = "Microsoft.Jet.OLEDB.4.0"
    AdoCN.Properties("Jet OLEDB:Database Password") = "123"
    AdoCN.ConnectionString = Dosya_Yolu
    AdoCN.Open

Provider olarak "Microsoft.ACE.OLEDB.12.0" da kullanabilirsiniz ....


.
 
Son düzenleme:
Katılım
30 Ekim 2010
Mesajlar
108
Excel Vers. ve Dili
2007 Türkçe
Geçersiz parola hatası veriyor. runtime error 2147217843
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,295
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Office 2010 ile denediğimde ben de aynı hatayı aldım......

Bilgisayarımda Access olmadığı için deneme şansım yok, eğer sizde varsa Access dosyasında File->Options->Client Settings->Advanced bölümünde "use legacy encryption" kısmını işaretleyip, mevcut şifrenizi silip yeniden şifre belirlemeyi dener misiniz?

.
 
Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,589
Excel Vers. ve Dili
Pro Plus 2021
Haluk Bey; dediğiniz gibi eski şifrelemeyi işaretleyerek yeniden şifrelendiğinde çalışıyor.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,295
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,241
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Ayarın nerede olduğunu da ben de resim ile göstereyim.

 

Ekli dosyalar

Son düzenleme:

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,295
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Veysel Beyin 7 No'lu mesajına eklediği dosyayı kullanarak, (Zeki Beyin işaret ettiği yerdeki söz konusu düzenlemenin yapıldığı dosya ) aşağıdaki kodlarla dosyadaki tablolara, alanlara ve alanlardaki verilere Office2010 ile erişilebiliyor...

Kod:
Sub Test()
    'Haluk - 22/01/2019
    'E-Posta: sa4truss@gmail.com
    '
    Dim adoCn As Object, rsTables As Object, rsFields As Object, RS As Object
    Dim myArr As Variant, i As Long, countRecords As Long
    Dim tablesList As String, fieldsList As String, myList As String
    Const adSchemaTables = 20
    Const adOpenKeyset = 1
    
    Dosya_Yolu = ThisWorkbook.Path & Application.PathSeparator & "XED_FORM1.accdb"
    
    If Dir(Dosya_Yolu) = Empty Then
        MsgBox Dosya_Yolu & " bulunamadı!"
        GoTo SafeExit:
    End If
    
    Set adoCn = CreateObject("ADODB.Connection")
    adoCn.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCn.Properties("Jet OLEDB:Database Password") = "123456"
    adoCn.ConnectionString = Dosya_Yolu
    adoCn.Open
    
    If adoCn.State = 1 Then
        MsgBox "ADO bağlantısı kuruldu"
    Else
        GoTo SafeExit:
    End If
    
    Set rsTables = adoCn.OpenSchema(adSchemaTables)
    
    i = 1
    With rsTables
        Do While Not .EOF
            If .Fields("TABLE_TYPE") = "TABLE" Then
                tablesList = tablesList & i & " - " & .Fields("TABLE_NAME") & vbCrLf
                i = i + 1
            End If
            .MoveNext
        Loop
    End With
    
    MsgBox "Veri tabanındaki tablolar:" & vbCrLf & vbCrLf & tablesList
    
    strSQL = "SELECT * FROM [URUN_GRUBU]"
    
    Set rsFields = adoCn.Execute(strSQL)
    
    For i = 0 To rsFields.Fields.Count - 1
        fieldsList = fieldsList & (i + 1) & " - " & rsFields.Fields(i).Name & vbCrLf
    Next
    
    MsgBox "'URUN_GRUBU' tablosundaki alanlar:" & vbCrLf & vbCrLf & fieldsList
    
    strSQL = "SELECT [GRUP_ADI] FROM [URUN_GRUBU]"
    
    Set RS = CreateObject("ADODB.Recordset")
    
    RS.Open strSQL, adoCn, adOpenKeyset
    
    countRecords = RS.RecordCount
    
    For i = 0 To (RS.RecordCount - 1)
        myList = myList & RS(0) & vbCrLf
        RS.MoveNext
    Next
    
    MsgBox "'URUN_GRUBU' tablosunda 'GRUP_ADI' alanındaki veriler:" & vbCrLf & vbCrLf & myList
    
SafeExit:
    Set RS = Nothing
    Set rsFields = Nothing
    Set rsTables = Nothing
    Set adoCn = Nothing
End Sub

.
 
Son düzenleme:

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,295
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ekli Excel dosyasında yazılan kodlarla; Veysel Beyin 7. mesajındaki şifreli Access dosyasındaki tüm tablolar, içindeki verilerle birlikte sayfalara listelenmektedir. Ekli Excel dosyası ve söz konusu Access dosyası aynı klasörde bulunmalıdır.

Benim gibi, bilgisayarında Access bulunmayanların işine yarar ....

Not: Dosya revize edildi. (Saat- 23:51)

.
 

Ekli dosyalar

Son düzenleme:
Üst