2014年7月5日土曜日

[MS Access] システムテーブル(MSys*) を区別する方法

Microsoft Access のシステムテーブルを VBA で区別するには名前 (MSys*) という方法もあるけれど、プロパティから判定するには TableDefAttributeEnum 列挙体 を使う。
Dim TableDef As DAO.TableDef
For Each TableDef In CurrentDb.TableDefs
    If TableDef.Attributes And TableDefAttributeEnum.dbSystemObject Then
        Debug.Print "システム テーブル: " & TableDef.Name
    End If
Next

関連する資料のリンク

TableDefAttributeEnum 列挙 (DAO)
http://msdn.microsoft.com/ja-jp/library/office/ff194433.aspx