HOME > このページ
テーブル・フィールドリストの取得方法(DAO)


カレントデータベースに含まれるテーブル一覧の取得
 次のプロシジャはカレントデータベース内のテーブルリストをイミディエイトウインドウに表示します。ただし、システムテーブルは表示しません。
Sub テーブル名の取得()
   
    Dim DB As DAO.Database
    Dim TableLoop As TableDef
    Dim strTname As String
    Set DB = CurrentDb
 
    For Each TableLoop In DB.TableDefs
    
       strTname = TableLoop.Name
     
       If Left(strTname, 2) <> "MS" Then 
           Debug.Print strTname
       End If
       
     Next TableLoop
 
End Sub
カレントデータベースに含まれるテーブルおよびフィールド一覧の取得
 次のプロシジャはカレントデータベース内のテーブルリストおよびフィールドの一覧をイミディエイトウインドウに表示します。ただし、システムテーブルは表示しません。
Sub フィールド名の取得()
   
    Dim DB As DAO.Database
    Dim Tableloop As DAO.TableDef
    Dim Fld As DAO.Field
    Dim strTablename As String
     Dim Tdf As DAO.TableDef
     
    Set DB = CurrentDb
    
    For Each Tableloop In DB.TableDefs
     
      strTablename = Tableloop.Name
 
      If Left(strTablename, 2) <> "MS" Then
     
          Set Tdf = DB.TableDefs(strTablename)
          Debug.Print "テーブル名: " & strTablename
          For Each Fld In Tdf.Fields
            Debug.Print Fld.Name,    'フィールド名
            Debug.Print Fld.Type,        'データ型
            Debug.Print Fld.Size         ’サイズ
          Next Fld
        
       End If
    
    Next Tableloop
    
    DB.Close
    Set DB = Nothing
End Sub
■外部データベースに含まれるテーブルおよびフィールド一覧の取得
 次のプロシジャは外部データベース内のテーブルリストおよびフィールドの一覧をイミディエイトウインドウに表示します。ただし、システムテーブルは表示しません。
Sub フィールド名の取得2()
   
    Dim DB As DAO.Database
    Dim Tableloop As DAO.TableDef
    Dim Fld As DAO.Field
    Dim strTablename As String
     Dim Tdf As DAO.TableDef
     
    Set DB = DBEngine.Workspaces(0).OpenDatabase("D:\本科生管理2003.mdb")
    
    For Each Tableloop In DB.TableDefs
     
      strTablename = Tableloop.Name
 
      If Left(strTablename, 2) <> "MS" Then
     
          Set Tdf = DB.TableDefs(strTablename)
          Debug.Print "テーブル名: " & strTablename
          For Each Fld In Tdf.Fields
            Debug.Print Fld.Name,
            Debug.Print Fld.Type,
            Debug.Print Fld.Size
          Next Fld
        
       End If
    
    Next Tableloop
    
    DB.Close
    Set DB = Nothing
End Sub

ホームページに|前のページに|次のページに

CopyRight(C) 2004 cbcnet. All Rights Reserved