Blue
Red
Green
Orange
Voilet
Slate
Dark

(!在线等)获得Access字段得更多属性(100分)

  • 主题发起人 leon.huang
  • 开始时间
L

leon.huang

Unregistered / Unconfirmed
GUEST, unregistred user!
==本人在大富翁上面看到了一个取得Access表字段属性的过程,大概如下:
---------------------------------------------------------------------
Tbl := CreateOleObject('ADOX.Table');
Tbl := DB.Tables[TableName];
SetLength(TableStruct, Longint(Tbl.Columns.Count));
for I := Low(TableStruct) to High(TableStruct) do begin
TableStruct.Name := Tbl.Columns.Name;
TableStruct.Types := Tbl.Columns.Type;
try
TableStruct.Description := Tbl.Columns.Properties['Description'];
except
TableStruct.Description := '';
end;
end;
----------------------------------------------
我的要求是获得更多的字段属性,大家能够提供一个可用列表。
最关键的是字段设计时的先后顺序如何取得。
我取得以后,发现全部按照字母排序了。
 
2

20026012

Unregistered / Unconfirmed
GUEST, unregistred user!
大家动用过FOXMAIL,用Delphi做这个软件要实现添加账户的功能,当添加账户的时候就需要在我用的Access里面自动建立一个表,如不需要添加账户则不在Access中建表,请问这个用Delphi的编程语言怎么实现?
 
V

vvyang

Unregistered / Unconfirmed
GUEST, unregistred user!
1、按先后顺序取得 Access 字段属性得用 DAO,ADOX无能为力,并且速度比 DAO 慢的多。
type
TFieldDef = record
Name: string;
Types,
Size: Longint;
Description: string; //还有好多属性,自己加上吧
end;

TFieldDefs = array of TFieldDef;

procedure GetFieldDefs(const DBName, TableName: string; out FieldDefs: TFieldDefs);
var
dbEngine, db: OleVariant;
i: Longint;
begin
try
dbEngine := CreateOleObject('DAO.DBEngine.36');
db := dbEngine.OpenDatabase(DBName);
SetLength(FieldDefs, Longint(db.TableDefs[TableName].Fields.Count));
for i := Low(FieldDefs) to High(FieldDefs) do
begin
FieldDefs.Name := db.TableDefs[TableName].Fields.Name;
FieldDefs.Types := db.TableDefs[TableName].Fields.Type;
FieldDefs.Size := db.TableDefs[TableName].Fields.Size;
try
FieldDefs.Description := db.TableDefs[TableName].Fields.Properties['Description'].Value;
except
FieldDefs.Description := '';
end;
end;
finally
db := Unassigned;
dbEngine := Unassigned;
end;
end;
2、字段的可用属性你可以在本机搜索 'DAO360.chm',输入关键字 'Fields',里面很详细,我说多了也没用。具体用法仿造上面我写的代码,都是 db.TableDefs[TableName].Fields.* 的形式。
 
L

leon.huang

Unregistered / Unconfirmed
GUEST, unregistred user!
看看再说
 
V

vvyang

Unregistered / Unconfirmed
GUEST, unregistred user!
能用就结贴,不能用也说一声。
 
L

leon.huang

Unregistered / Unconfirmed
GUEST, unregistred user!
不是很满意,不过夜多谢了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
2K
import
I
I
回复
0
查看
665
import
I
顶部 底部