关于access主键名称 ( 积分: 100 )

  • 主题发起人 主题发起人 mally
  • 开始时间 开始时间
M

mally

Unregistered / Unconfirmed
GUEST, unregistred user!
我在access程序里为一个表定义了一个两个字段的联合主键,现在想用sql语句把这个主键取消掉,但是这个主键名是access自动生成的,我不知道这个主键名是什么。有什么方法可以查看到这个access自动生成的主键的名称?
 
用ADOX,有keys集合.
 
uses ComObj;
function IsPrimary(const DBName, TableName, FieldName: WideString): Boolean;
var
dbe, dbs, tdf, idx: OleVariant;
i, j: Integer;
begin
Result := False;
try
dbe := CreateOleObject('DAO.DBEngine.36');
dbs := dbe.OpenDatabase(DBName);
tdf := dbs.TableDefs[TableName];
for i := 0 to tdf.Indexes.Count - 1 do
if tdf.Indexes.Primary then
begin
idx := tdf.Indexes;
for j := 0 to idx.Fields.Count - 1 do
if idx.Fields[j].Name = FieldName then
begin
Result := True;
Break;
end;
Break;
end;
finally
if not VarIsEmpty(dbs) then dbs.Close;
idx := Unassigned;
tdf := Unassigned;
dbs := Unassigned;
dbe := Unassigned;
end;
end;
 
接受答案了.
 
后退
顶部