Этот пример VBA, но должна быть возможность перевести идею, так как она использует ADO.
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = "Provider = Microsoft.Jet.OLEDB.4.0; " _
& "Data Source = MyDB.mdb"
Set rs = cn.OpenSchema( _
adSchemaTables, Array(Empty, Empty, Empty))
Debug.Print rs.GetString
rs.Close
Set rs = Nothing
Аналогично adSchemaTables
, adSchemaColumns
может использоваться для возврата столбцов. Ограничения: TABLE_CATALOG
, TABLE_SCHEMA
, TABLE_NAME
, COLUMN_NAME
, поэтому вы можете видеть, что могут быть возвращены данные столбца для конкретной таблицы или все столбцы и имя связанной таблицы. Например:
Set rs = cn.OpenSchema( _
adSchemaTables, Array(Empty, Empty, "Employees", "name"))
Debug.Print rs("TABLE_NAME") & "." _
& rs("COLUMN_NAME") & ": " _
& rs("DATA_TYPE")
Для получения дополнительной информации см https://msdn.microsoft.com/en-us/library/ms676705.aspx