![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как документировать список всех таблиц и полей (в т.ч. описаний) [D5, MS Access 2000]
SerKom © (2004-04-06 12:37:00)Нужно получить удобочитаемый документ (типа .doc или .xls), который бы содержал список всех таблиц и полей (в т.ч. описаний).
Не программно, а так на один раз - просто база на MS Access 2000 содержит кучу таблиц и полей, причем аксесовский Архивариус дает либо слишком много (свойства поля выводятся как таблица) либо не дает нужной информации (не дает описание полей) - как это сделать?
sniknik (2004-04-06 14:13:00) [1]
ADOConnection1.OpenSchema(siColumns, VarArrayOf([Unassigned, Unassigned, sTable, Unassigned]), EmptyParam, FieldSchema);
ColumnField:= FieldSchema.FieldByName('COLUMN_NAME');
TypeField:= FieldSchema.FieldByName('DATA_TYPE');
CharLenField:= FieldSchema.FieldByName('CHARACTER_MAXIMUM_LENGTH');
NumPreField:= FieldSchema.FieldByName('NUMERIC_PRECISION');
NumScaField:= FieldSchema.FieldByName('NUMERIC_SCALE');
DescrField:= FieldSchema.FieldByName('DESCRIPTION');
sTable = string = имя таблицы
FieldSchema = TADODataSet
sniknik (2004-04-06 13:17:00) [2]> это понятно, а как получить "Описание" поля, которое в конструкторе таблиц в Access'е?
а оно тебе надо? ;о) подумай...
(счас с обеда приду кину если раньше никто не положит)
SerKom (2004-04-06 13:14:00) [3]
> Vlad © (06.04.04 12:46) [3]
.Fields[i].FieldName
.Fields[i].DataType
это понятно, а как получить "Описание" поля, которое в конструкторе таблиц в Access'е?
SerKom (2004-04-06 13:06:00) [4]
> в Архивариусе внизу там есть кнопочка properties ...
В смысле "Параметры"?
В принципе с помощью указания параметров в Архивариусе можно получить отчет вида
Имя_Таблицы
Имя_Поля1 Тип_Поля1 Размер_Поля1
Имя_Поля2 Тип_Поля2 Размер_Поля2
вот к этому бы еще "Описание":
Имя_Таблицы Описание_Таблицы1
Имя_Поля1 Тип_Поля1 Размер_Поля1 Описание_Поля1
Имя_Поля2 Тип_Поля2 Размер_Поля2 Описание_Поля2
sniknik (2004-04-06 13:00:00) [5]SerKom (06.04.04 12:44) [2]
в Архивариусе внизу там есть кнопочка properties ...
SerKom (2004-04-06 12:59:00) [6]Спасибо! попробую.
V-A-V (2004-04-06 12:49:00) [7]Да имменно как говорит Vlad, так все и делается
Val (2004-04-06 12:47:00) [8]>SerKom (06.04.04 12:44) [2]
причем здесь VB?
Vlad (2004-04-06 12:46:00) [9]
> SerKom (06.04.04 12:44) [2]
Какой VB я тебе про Дельфи говорю.
ADOConnection.GetTableNames - получаем список всех таблиц в базе.
Затем в цикле для каждой таблицы получаем список ее полей, для каждого поля узнаем его тип, название итд.
Я думаю вполне реально, хотя сам так не делал.
SerKom (2004-04-06 12:44:00) [10]Да, но я не знаю VB и использую Аccess не более чем хранилище данных, т. е. есть ли у кого готовое решение или которое не касается VB?
Vlad (2004-04-06 12:40:00) [11]
> SerKom (06.04.04 12:37)
GetTableNames - получаешь список всех таблиц базы, а дальше дело техники. Например в цикле по всем таблицам пробегаешь, смотришь описания всех полей (Fields[i].DataType)
(я так думаю)