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

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

Как узнать структуру таблицы MS ACCESS [D7]


keymaster ©   (2005-11-16 20:37:00) 

Через ADO.
Имя поля узнаём, тип данных тоже.
Но ещё нужно узнать, где храниться описание поля.


sniknik   (2005-11-17 21:34:00) [1]

> Нужно узнать третий пункт
это DESCRIPTION. именно он в коде Slym ©   (17.11.05 04:43) [1] и узнается. (таблица зачемто только... не нужна. а так, все там есть)


keymaster   (2005-11-17 19:33:00) [2]

DisplayLabel возвращает метку поля, т.е то, что пишется в гриде наверху.

Когда создаешь базу в ACCESS то там у поля три параметра:
1) Имя поля
2) Тип поля
3) Описание.

Нужно узнать третий пункт


msguns   (2005-11-17 13:12:00) [3]

TField.DataType


antoxa2005   (2005-11-17 13:00:00) [4]

А как узнать тип поля?


Slym   (2005-11-17 04:43:00) [5]

Вытащи отсюда
procedure TDM.ShowDict(const TableName, Caption: string);
var
 Table:TADOTable;
 DS:TADODataSet;
 i:integer;
 GridEdit:TGridEdit;
begin
 Table:=TADOTable.Create(nil);
 try
   Table.Connection:=Conn;
   Table.TableName:=TableName;
   Table.ReadOnly:=not DM.adm;
   Table.Open;
   DS:=TADODataSet.Create(nil);
   try
     Conn.OpenSchema(siColumns,EmptyParam,EmptyParam,DS);
     with DS.FindField('DESCRIPTION') do
       for i:=0 to Table.FieldCount-1 do
         if DS.Locate('TABLE_NAME;COLUMN_NAME',VarArrayOf([TableName,Table.Fields[i].FieldName]),[]) then
           Table.Fields[i].DisplayLabel:=AsString;
   finally
     DS.Free;
   end;
   GridEdit:=TGridEdit.Create(self);
   try
     GridEdit.Caption:=Caption;
     GridEdit.DataSource.Dataset:=Table;
     GridEdit.ShowModal;
   finally
     GridEdit.Free;
   end;
 finally
   Table.Free;
 end;
end;


Наверх

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