VBA, MS Access MS Access в примерах

Cписок индексов таблицы + некоторые свойства индекса + список полей индекса (ADOX)

Private Sub ATest001()
    ADOXListIndexTbl ("Сотрудники_Log")
    'ADOXListIndexTbl ("Пациенты")
End Sub

Public Sub ADOXListIndexTbl(strTblName As String)
'список индексов таблицы + некоторые свойства индекса + список полей индекса
'strTblName - имя таблицы в БД
Dim adoxCat As ADOX.Catalog
Dim adoxTbl As ADOX.Table
Dim adoxInx As ADOX.Index
Dim adoxCol As ADOX.Column
'Dim adoxPRP As ADOX.Property


        Set adoxCat = New ADOX.Catalog
        adoxCat.ActiveConnection = CurrentProject.Connection
        
        Set adoxTbl = adoxCat.Tables(strTblName)
        For Each adoxInx In adoxTbl.Indexes
            With adoxInx
                Debug.Print "_________________________________"
                Debug.Print "Индекс - "; .Name
                Debug.Print "Первичный - "; .PrimaryKey
                Debug.Print "Уникальный - "; .Unique
                Debug.Print "Поля индекса : ";
                For Each adoxCol In .Columns
                   Debug.Print adoxCol.Name; "; ";
                   'Debug.Print adoxCol.Type
                Next
                Debug.Print
            End With
        Next

'
'    For Each adoxCol In adoxTbl.Columns
'        Debug.Print "_________________________________"
'        Debug.Print adoxCol.Name '; "; ";
'        'Debug.Print adoxCol.DefinedSize
'        If adoxCol.Name = "flgSourceUpdate" Then
'            'Debug.Print adoxCol.Properties("Jet OLEDB:Column Format").Value
'            Debug.Print adoxCol.Type '.Value
'            Debug.Print adoxCol.Attributes
'            Debug.Print adoxCol.Properties("Format").Value
'            For Each adoxPRP In adoxCol.Properties
'                Debug.Print "Prop: " & adoxPRP.Name
'                Debug.Print adoxPRP.Attributes
'                Debug.Print adoxPRP.Type
'                Debug.Print adoxPRP.Value
'            Next
'        End If
'    Next
End Sub


Назад ToTop
L.E. 27.06.2022
Рейтинг@Mail.ru