C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Получение данных "Описание поля" из, БД Access (ADO)
T@rEn
Отправлено: 12.01.2007, 12:08


Ученик-кочегар

Группа: Участник
Сообщений: 18



Здравствуйте!!!!

Есть БД Access, содержащая таблицу, в таблице для каждого поля есть описание. Можно ли извлечь эту информацию, а также изменить и удалить. И как это сделать. Подключаюсь через ADO.

Заранее благодарен!!!!
olegenty
Отправлено: 12.01.2007, 13:34


Ветеран

Группа: Модератор
Сообщений: 2412



подключайся к системным таблицам и смотри, что там и как.
T@rEn
Отправлено: 12.01.2007, 14:12


Ученик-кочегар

Группа: Участник
Сообщений: 18



В оболочке Access поковырялся, просмотрел системные таблицы, но что-то похожее на "описание полей" не нашел. Там какие-то двоичные данные часто встречаются, может с ними что сделать можно. Если не затруднит, подоступнее объясните пожалуйста.

Заранее благодарен!!!
olegenty
Отправлено: 16.01.2007, 12:59


Ветеран

Группа: Модератор
Сообщений: 2412



да, не подумал. внутреннего используемого формата не знаю.
T@rEn
Отправлено: 17.01.2007, 11:24


Ученик-кочегар

Группа: Участник
Сообщений: 18



Полазил по форумам, дали один код, изменения описания полей. Но он на Basic'e, возможно встроенном в MS Access:

CODE

Sub SetFieldDescription(ByVal TableName As String, ByVal FieldName As String, ByVal FieldDescription As String)
   Dim DB As DAO.Database
   Dim tbl As DAO.TableDef
   Dim fld As DAO.Field

   Set DB = CurrentDb()
   Set tbl = DB.TableDefs(TableName)
   Set fld = tbl.Fields(FieldName)

   On Error GoTo err_
   fld.Properties("Description") = FieldDescription

   Exit Sub

err_:
   If Err.Number = 3270 Then
       fld.Properties.Append fld.CreateProperty("Description", dbText, FieldDescription)
   Else
       Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
   End If
End Sub


Если кто сможет разобраться, помогите!

Заранее благодарен !!!
Valdemar
Отправлено: 17.01.2007, 11:43


Мастер участка

Группа: Участник
Сообщений: 433



T@rEn, может быть это можно сделать с помощью ADOX. ADOX — это COM-библиотека, являющаяся дополнением к библиотеке ADO и предназначенная для управления структурой и безопасностью базы. ADOX позволяет как получить информацию об объектах, так и управлять ими — создавать, изменять и удалять. Объекты, доступные ADOX — это таблицы (Tables), их поля (Columns), ключи (Keys) и индексы (Indexes), процедуры (Procedures) и вьюшки (Views), а также пользователи (Users) и группы (Groups).
Почитайте это Borland Delphi и расширения ADO, так же поищите другую информацию по ADOX.

Вернуться в Работа с базами данных в C++Builder