Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как документировать список всех таблиц и полей (в т.ч. описаний) [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)
(я так думаю)


Наверх

Титульная страница Поиск, карта сайта Написать письмо