Необходимо задать описание таблицы (то, что выводится в свойствах таблицы).
При попытке задать описание аналогично описанию столбца оказывается, что:
а) в свойствах нет "Description"
б) добавить это свойство в коллекцию нельзя
- Код: Выделить всё
Dim cs As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Path & ";" & _
"Jet OLEDB:Engine Type=5;"
Dim cnn As New ADODB.Connection()
cnn.Open(cs)
Dim cat As New ADOX.Catalog()
cat.ActiveConnection = cnn
Dim tbl As New ADOX.Table()
tbl.Name = table_name
cat.Tables.Append(tbl)
With tbl
' Вот тут падает COMException "Item cannot be found in the collection corresponding to the requested name or ordinal."
.Properties("Description").Value = "Хранилище: " & aName & vbCrLf & "Секция: " & sName
End With
Что можно сделать..?
Через VBA из-под созданной базы описание прекрасно добавляется (как обычно, в коллекцию) и видится в свойствах таблицы.
Обновление
В итоге сделал через DAO.
- Код: Выделить всё
For Each td In db.TableDefs
' Ищем нужную таблицу
If td.Name = table_name Then
p = db.CreateProperty("Description", dao.DataTypeEnum.dbText, "Description")
td.Properties.Append(p)
Exit For
End If
Next