![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать структуру таблицы 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;