![]() |
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Primärindex von Access Tabelle herausfinden?
Hallo,
ist es irgendwie möglich, den Primärindex einer Access Tabelle per code herauszufinden? Gibt es evtl. sogar eine Möglichkeit dies per SQL Statement geliefert zu bekommen? Vielen Dank Dragi |
Re: Primärindex von Access Tabelle herausfinden?
Hallo Dragi,
du kannst den Primärindex einer Tabelle über die ADO Extensions (ADOX) ermitteln. Du erhältst dabei den Namen, die beteiligten Attribute und einiges mehr. Die ADO Extensions musst du natürlich vorher importieren (Komponente | ActiveX importieren...).
Delphi-Quellcode:
Grüße vom marabu
uses
ADOX; // getippt und nicht ungetestet function GetTable(cat: TADOCatalog; tbl: string): _Table; var i: integer; a: Tables; begin a := cat.DefaultInterface.Tables; for i := 0 to Pred(a.Count) do if CompareText(a.item[i].Name, tbl) = 0 then begin Result := a.item[i]; Exit; end; Result := nil; end; function GetIndex(t: _Table; idx: string): _Index; var i: integer; a: Indexes; begin a := t.Indexes; for i := 0 to Pred(a.Count) do if CompareText(a.item[i].Name, idx) = 0 then begin Result := a.item[i]; Exit; end; Result := nil; end; procedure TDemoForm.QueryIndex(tbl, idx: string); var t: _Table; x: _Index; begin t := GetTable(AdoCatalog, tblName); if Assigned(t) then begin x := GetIndex(t, idx); if Assigned(x) then if x.PrimaryIndex then ShowMessage('is primary index') else ShowMessage('is secondary index'); end; end; |
Re: Primärindex von Access Tabelle herausfinden?
Vielen Dank,
das werde ich direkt mal auprobieren! :) Gruß Dragi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz