Вывод в Immadiate Window списка таблиц и индексов в них
Возникла необходимость поплнить документирование Access2003 списком таблиц и всех индексов к ним где и как это можно сделать?
Public Sub esIndexesOfTables()
Dim tdf As DAO.TableDef
Dim idx As Index
Dim fld As Field
Dim s As String
On Error GoTo esIndexesOfTables_Err
s = String(50, "=") & vbCrLf
For Each tdf In CurrentDb.TableDefs
If (tdf.Attributes And dbSystemObject) = False Then 'Если таблица не системная (пользовательская)
s = s & tdf.name & vbCrLf
For Each idx In tdf.Indexes
s = s & vbTab & "Индекс: " & idx.name & " Уникальный: " & idx.Unique & " Первичный: " & idx.Primary & vbCrLf
s = s & vbTab & "Содержит поля:" & vbCrLf
For Each fld In idx.Fields
s = s & vbTab & vbTab & fld.name & vbCrLf
Next
Next
End If
Next
s = s & String(50, "-")
Debug.Print s
esIndexesOfTables_Bye:
Exit Sub
esIndexesOfTables_Err:
MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
"in procedure esIndexesOfTables", vbCritical, "Error!"
Resume esIndexesOfTables_Bye
End Sub
|