ForNext
Only Do What Only You Can Do
07. テーブル一覧を取得する
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
Scala
F#
C
C++
C++Builder
更新日 : 2006.07.15
void __fastcall TForm1::Button7Click(TObject *Sender) { //表示用コントロールをクリア ListBox1->Items->Clear(); ListBox2->Items->Clear(); ListBox3->Items->Clear(); //データベースを開く (排他モード = false, 読み込み専用 = true) Variant de = Variant::CreateObject("DAO.DBEngine.36"); Variant db = de.Exec(Function("OpenDatabase") << "e:\\test.mdb" << false << true); //テーブル定義コレクションを取得 Variant tds = db.Exec(Function("TableDefs")); const int dbSystemObject = -2147483646; const int dbHiddenObject = 1; for (int i=0;i<tds.Exec(PropertyGet("Count"));i++) { Variant td = db.Exec(PropertyGet("TableDefs") << i); if (td.Exec(PropertyGet("Attributes")) & dbSystemObject) //システムオブジェクトは ListBox1 に表示 ListBox1->Items->Add(td.Exec(PropertyGet("Name"))); else if (td.Exec(PropertyGet("Attributes")) & dbHiddenObject) //隠しオブジェクトは ListBox2 に表示 ListBox2->Items->Add(td.Exec(PropertyGet("Name"))); else //通常のテーブルを ListBox3 に表示 ListBox3->Items->Add(td.Exec(PropertyGet("Name"))); } //データベースを閉じる db.Exec(Procedure("Close")); }
VC++
C#
Java
Objective-C
D
VB
更新日 : 2006.07.15
Private Sub Command7_Click() '表示用コントロールをクリア List1.Clear List2.Clear List3.Clear 'データベースを開く (排他モード = False, 読み込み専用 = True) Dim db As Database Set db = DBEngine.OpenDatabase("e:\test.mdb", False, True) Dim td As TableDef For Each td In db.TableDefs 'テーブル定義を取得 If td.Attributes And dbSystemObject Then 'システムオブジェクトは ListBox1 に表示 List1.AddItem td.Name ElseIf td.Attributes And dbHiddenObject Then '隠しオブジェクトは ListBox2 に表示 List2.AddItem td.Name Else '通常のテーブルを ListBox3 に表示 List3.AddItem td.Name End If Next 'データベースを閉じる db.Close End Sub
VB.NET
Delphi
更新日 : 2006.07.15
procedure TForm1.Button7Click(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; ListBox3.Items.Clear; //データベースを開く (排他モード = false, 読み込み専用 = true) de := CreateOleObject('DAO.DBEngine.36'); db := de.OpenDatabase('e:\test.mdb', false, true); for i := 0 to db.TableDefs.Count - 1 do begin td := db.TableDefs[i]; if td.Attributes and dbSystemObject then //システムオブジェクトは ListBox1 に表示 ListBox1.Items.Add(td.Name) else if td.Attributes and dbHiddenObject then //隠しオブジェクトは ListBox2 に表示 ListBox2.Items.Add(td.Name) else //通常のテーブルを ListBox3 に表示 ListBox3.Items.Add(td.Name); end; //データベースを閉じる db.Close; end;