home > OLE オートメーション > ADO >

ForNext

Only Do What Only You Can Do

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

VBScript

JScript

Perl

PHP

Python

Ruby

PowerShell

Scala

F#

C

C++

C++Builder

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

    Variant cat = Variant::CreateObject("ADOX.Catalog");

    //Edit3 に mdbファイル名を入力
    cat.Exec(PropertySet("ActiveConnection")<<"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Edit3->Text + ";");

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

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

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

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

VC++

C#

Java

Objective-C

D

VB

VB.NET

Delphi

更新日 : 2005.12.13
procedure TForm1.Button2Click(Sender: TObject);
var
    cat: Variant;//Catalog
    tbl: Variant;//Table
    col: Variant;//Column
    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.Columns.Count - 1 do
    begin
        col := tbl.Columns[i];

        //フィールド名を ListBox1 に表示
        ListBox1.Items.Add(col.Name);

        //フィールドの説明を ListBox2 に表示
        ListBox2.Items.Add(col.Properties['Description']);
    end;
end;

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system