C++Builder Personal で DAO

フィールド一覧を取得する


void __fastcall TForm1::Button2Click(TObject *Sender)
{
//表示用コントロールをクリア
ListBox1->Items->Clear();
ListBox2->Items->Clear();

Variant de = Variant::CreateObject("DAO.DBEngine.36");

//Edit3 に mdbファイル名を入力
Variant db = de.Exec(Function("OpenDatabase")<<Edit3->Text<<false<<false);

//Edit4 に テーブル名を入力
Variant td = db.Exec(PropertyGet("TableDefs")<<Edit4->Text);
Variant fds = td.Exec(Function("Fields"));

for (int i=0;i<fds.Exec(PropertyGet("Count"));i++)
{
Variant fd = td.Exec(PropertyGet("Fields")<<i);

//フィールド名を ListBox1 に表示
ListBox1->Items->Add(fd.Exec(PropertyGet("Name")));

//フィールドの説明を ListBox2 に表示
ListBox2->Items->Add(fd.Exec(PropertyGet("Properties")<<"Description"));
}

db.Exec(Procedure("Close"));
}