Описание таблицы в Access 2003 + VB.NET

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Описание таблицы в Access 2003 + VB.NET

Сообщение Amed » 04.02.2009 (Ср) 15:46

Создаю через ADOX базу Access.
Необходимо задать описание таблицы (то, что выводится в свойствах таблицы).

При попытке задать описание аналогично описанию столбца оказывается, что:
а) в свойствах нет "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

Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 224

    TopList