AccessTr.neT
Access Tablo Adlarını Bulma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Access Tablo Adlarını Bulma (/konu-access-tablo-adlarini-bulma.html)

Sayfalar: 1 2 3


Cvp: Access Tablo Adlarını Bulma - ozanakkaya - 19/01/2020

VBA penceresinde menüde Tools - Database Properties'e tıkla, açılan pencerede, General sekmesinde veritabanı ismi Database ise bu ismi değiştir.


Cvp: Access Tablo Adlarını Bulma - feraz - 19/01/2020

(19/01/2020, 19:53)ozanakkaya yazdı: VBA penceresinde menüde Tools - Database Properties'e tıkla, açılan pencerede, General sekmesinde veritabanı ismi Database ise bu ismi değiştir.

Resim olarak ekleyebilirmisiniz dediklerinizi.
Bulamam sanırım oraları Img-cray


Cvp: Access Tablo Adlarını Bulma - feraz - 19/01/2020

(19/01/2020, 19:53)ozanakkaya yazdı: VBA penceresinde menüde Tools - Database Properties'e tıkla, açılan pencerede, General sekmesinde veritabanı ismi Database ise bu ismi değiştir.

Dediklerinizi yaptım sonuç olumlu lakin Mys olan gizli tablo adlarıda çıkyor ve çıkmaması gerek.


Cvp: Access Tablo Adlarını Bulma - feraz - 19/01/2020

Alttaki kodAdo schmea ile Tablo adlarını muazzam buluyor .Bazende hata veriyor CurrentProject.FullName bundan dolayı.Yani kendi kendini açamıyor.

Artık Schemea yöntminede razı oldum başka yöntem yoksa.

Sub TableAdlar()

    Dim adoRecSet As New ADODB.Recordset
    Dim connDB As New ADODB.Connection
   
    connDB.Open ConnectionString:="Provider = Microsoft.ACE.OLEDB.12.0; data source= " & CurrentProject.FullName
    Set adoRecSet = connDB.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE"))
   
    Do While Not adoRecSet.EOF
        MsgBox adoRecSet.Fields("TABLE_NAME").Value
        adoRecSet.MoveNext
    Loop
    adoRecSet.Close
   
    connDB.Close
   
    Set adoRecSet = Nothing
    Set connDB = Nothing
   
End Sub



Cvp: Access Tablo Adlarını Bulma - berduş - 19/01/2020

Aynı VT için connectiona gerek var mı ki
Sadece recordseti tanımlayıp currentdb.OpenSchema.... şeklinde deneseniz


Cvp: Access Tablo Adlarını Bulma - berduş - 19/01/2020

Sub TableAdlar()

    Dim adoRecSet As New ADODB.Recordset
            Set adoRecSet = currentdb.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE"))
   
    Do While Not adoRecSet.EOF
        MsgBox adoRecSet.Fields("TABLE_NAME").Value
        adoRecSet.MoveNext
    Loop
    adoRecSet.Close
      
    Set adoRecSet = Nothing
End Sub