使用 Access 2000 中的 TableDef 对象 Attributes 属性
2008-12-29 08:34:24
Constant Description
----------------------------------------------------------------------
dbAttachExclusive For databases that use the Microsoft Jet database
engine, indicates the table is a linked table
opened for exclusive use.
dbAttachSavePWD For databases that use the Jet database engine,
indicates the user ID and password for the
linked table should be saved with the connection
information.
dbSystemObject Indicates the table is a system table.
dbHiddenObject Indicates the table is a hidden table (for
temporary use).
dbAttachedTable Indicates the table is a linked table from a
non-Open Database Connectivity (ODBC) database,
such as Microsoft access or Paradox.
dbAttachedODBC Indicates the table is a linked table from an
ODBC database, such as Microsoft SQL Server or
orACLE Server.
有关一个
TableDef 对象,
Attributes 属性使用依赖的
TableDef ,状态下面的表所示:
TableDef Usage
--------------------------------- ----------
Object not appended to collection Read/write
Base table Read-only
Linked table Read-only
,检查此属性的设置时可用于测试特定的属性的
AND 运算符。 例如,以确定一个表对象是否是系统表,执行逻辑比较
TableDef Attributes 属性和
dbSystemObject 常量。
sample Code
注意 : 这篇文章中的示例代码使用 Microsoft 数据访问对象。 为使该代码正常运行,您必须引用 Microsoft DAO 3.6 对象库。 为此,在 工具 菜单中的 Visual Basic 编辑器上, 单击 引用 并确保选中了 Microsoft DAO 3.6 Object Library 复选框。下面的用户定义的示例函数循环遍历一个数据库中所有表并显示一个消息框列出了每个表名和表是否是系统表:
Option Compare Database 'Use database order for string comparisons.
Option Explicit
Function ShowTableAttribs()
Dim DB As DAO.Database
Dim T As DAO.TableDef
Dim TType As String
Dim TName As String
Dim Attrib As String
Dim I As Integer
Set DB = CurrentDB()
For I = 0 To DB.Tabledefs.Count - 1
Set T = DB.Tabledefs(I)
TName = T.Name
Attrib = (T.Attributes And dbSystemObject)
MsgBox TName & IIf(Attrib, ": System Table", ": Not System" & _
"Table")
Next I
End Function