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

ForNext

Only Do What Only You Can Do

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

VBScript

JScript

Perl

PHP

Python

Ruby

PowerShell

Scala

F#

C

C++

C++Builder

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

    //データベースを開く (排他モード = false, 読み込み専用 = true)
    Variant de = Variant::CreateObject("DAO.DBEngine.36");
    Variant db = de.Exec(Function("OpenDatabase") << "e:\\test.mdb" << false << true);

    //テーブル定義を取得
    Variant td = db.Exec(PropertyGet("TableDefs") << "M_商品");

    //フィールド定義コレクションを取得
    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 に表示
        try
        {
            ListBox2->Items->Add(fd.Exec(PropertyGet("Properties") << "Description"));
        }
        catch(Exception &ex)
        {
            ListBox2->Items->Add("");
        }
    }

    //データベースを閉じる
    db.Exec(Procedure("Close"));
}

VC++

C#

Java

Objective-C

D

VB

更新日 : 2006.07.15
Private Sub Command8_Click()
    '表示用コントロールをクリア
    List1.Clear
    List2.Clear

    'データベースを開く (排他モード = False, 読み込み専用 = True)
    Dim db As Database
    Set db = DBEngine.OpenDatabase("e:\test.mdb", False, True)

    'テーブル定義を取得
    Dim td As TableDef
    Set td = db.TableDefs("M_商品")

    Dim fd As Field
    For Each fd In td.Fields
        'フィールド名を ListBox1 に表示
        List1.AddItem fd.Name

        'フィールドの説明を ListBox2 に表示
        On Error Resume Next
        List2.AddItem fd.Properties("Description")
        If Err.Number <> 0 Then
            List2.AddItem ""
        End If
        On Error GoTo 0
    Next

    'データベースを閉じる
    db.Close
End Sub

VB.NET

Delphi

更新日 : 2006.07.15
procedure TForm1.Button8Click(Sender: TObject);
var
    de:Variant;//DBEngine
    db:Variant;//Database
    td:Variant;//TableDef
    fd:Variant;//Field
    i: Integer;
begin
    //表示用コントロールをクリア
    ListBox1.Items.Clear;
    ListBox2.Items.Clear;

    //データベースを開く (排他モード = false, 読み込み専用 = true)
    de := CreateOleObject('DAO.DBEngine.36');
    db := de.OpenDatabase('e:\test.mdb', false, true);

    //テーブル定義を取得
    td := db.TableDefs['M_商品'];

    for i := 0 to td.Fields.Count - 1 do
    begin
        fd := td.Fields[i];

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

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

    //データベースを閉じる
    db.Close;
end;

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system