Delphi Personal で ADO

インデックス一覧を取得する


procedure TForm1.Button3Click(Sender: TObject);
var
cat: Variant;//Catalog
tbl: Variant;//Table
idx: Variant;//Index
i: Integer;
begin
//表示用コントロールをクリア
ListBox1.Items.Clear;
ListBox2.Items.Clear;

cat := CreateOleObject('ADOX.Catalog');

//Edit3 に mdbファイル名を入力
cat.ActiveConnection := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + Edit3.Text + ';';

//Edit4 に テーブル名を入力
tbl := cat.Tables[Edit4.Text];

for i := 0 to tbl.Indexes.Count - 1 do
begin
idx := tbl.Indexes[i];

//インデックス名を ListBox1 に表示
ListBox1.Items.Add(idx.Name);
end;
end;