Delphi Personal で DAO

テーブル一覧を取得する


procedure TForm1.Button1Click(Sender: TObject);
var
de:Variant;//DBEngine
db:Variant;//Database
td:Variant;//TableDef
i :Integer;
const
dbSystemObject:Integer = -2147483646;
dbHiddenObject:Integer = 1;
begin
//表示用コントロールをクリア
ListBox1.Items.Clear;
ListBox2.Items.Clear;

de := CreateOleObject('DAO.DBEngine.36');

//Edit3 に mdbファイル名を入力
db := de.OpenDatabase(Edit3.Text, false, false);

for i := 0 to db.TableDefs.Count - 1 do
begin
td := db.TableDefs[i];
if td.Attributes and dbSystemObject then
//システムオブジェクトは ListBox2 に表示
ListBox2.Items.Add(td.Name)

else if td.Attributes and dbHiddenObject then
//隠しオブジェクトは ListBox2 に表示
ListBox2.Items.Add(td.Name)

else
//通常のテーブルを ListBox1 に表示
ListBox1.Items.Add(td.Name);
end;

db.Close;
end;