Ti posto il codice in ADO per avere una lista (in una listview) di tutte le tabelle presenti in un database access:
La listview deve avere la proprietà View impostata a 3-IvwReport

codice:
    Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Nomedb & ";Persist Security Info=False"
    listview1.ListItems.Clear
    
    I = 1
    Set Rs = Db.OpenSchema(adSchemaTables)
    While Not Rs.EOF
       If Rs("table_type") = "TABLE" And LCase(Rs("table_name")) <> "errori di incollamento" Then
            Set li = listview1.ListItems.Add(I, , Rs("table_name"))
            StrSql = "select * from " & Rs("table_name") & " "
            'questa istruzione come puoi notare serve per sapere se la tabella contiene record            
            Rs1.CursorLocation = adUseClient
            Rs1.Open StrSql, Db, adOpenKeyset, adLockOptimistic
            li.SubItems(1) = Rs1.RecordCount
            Rs1.Close
            I = I + 1
        End If
        
       Rs.MoveNext
    Wend
    Rs.Close