Ms access 如何查看Microsoft Access 2013表的元数据?
如何查看Microsoft Access 2013表的元数据(数据字典)?在Access 2007及更高版本(2007、2010、2013)中,“数据库文档管理器”位于“分析”组中的“数据库工具”选项卡下。使用VBA,DAO.TableDef对象可以帮助您:Ms access 如何查看Microsoft Access 2013表的元数据?,ms-access,ms-access-2013,database-metadata,Ms Access,Ms Access 2013,Database Metadata,如何查看Microsoft Access 2013表的元数据(数据字典)?在Access 2007及更高版本(2007、2010、2013)中,“数据库文档管理器”位于“分析”组中的“数据库工具”选项卡下。使用VBA,DAO.TableDef对象可以帮助您: dim db作为DAO.Database,tbl作为DAO.TableDef 将f作为DAO.Field 设置db=currentdb()'连接到当前数据库 '循环数据库中的每个表 对于db.tableDefs中的每个tbl debug.p
dim db作为DAO.Database,tbl作为DAO.TableDef
将f作为DAO.Field
设置db=currentdb()'连接到当前数据库
'循环数据库中的每个表
对于db.tableDefs中的每个tbl
debug.print“表名:”,tbl.name
'通过表中的每个字段循环
对于tbl.字段中的每个f
debug.print“字段:”,f.名称
下一个f
下一个tbl
这过于简化了,但您可以获得表及其字段的所有属性
检查:
MSysObjects
的系统表。此表包含此数据库元数据。您可以获取具有创建日期和上次更新日期的所有对象
可以使用以下查询列出Access数据库中的所有对象:
SELECT Name, DateCreate, DateUpdate,
iif(LEFT(Name, 4) = 'MSys','System Table',
iif(type = 2,'System Object',
iif(type = 3,'System Object',
iif(type = 8,'System Object',
iif(type = 4,'Linked Table (ODBC)',
iif(type = 1,'Table',
iif(type = 6, 'Linked Table (MsAccess/MsExcel)',
iif(type = 5,'Query',
iif(type = -32768,'Form',
iif(type = -32764,'Report',
iif(type=-32766,'Macro',
iif(type = -32761,'Module',
iif(type = -32756,'Page',
iif(type = -32758,'User','Unknown')))))))))))))) as ObjectType
FROM MSysObjects WHERE LEFT(Name, 1) <> '~'
选择名称、日期创建、日期更新、,
iif(左(名称,4)=‘MSys’,‘系统表’,
iif(类型=2,“系统对象”,
iif(类型=3,“系统对象”,
iif(类型=8,“系统对象”,
iif(类型=4,“链接表(ODBC)”,
iif(类型=1,'表格',
iif(类型=6,“链接表(MsAccess/MsExcel)”,
iif(类型=5,“查询”,
iif(类型=-32768,'Form',
iif(类型=-32764,'报告',
iif(类型=-32766,'Macro',
iif(类型=-32761,'Module',
iif(类型=-32756,'Page',
iif(类型=-32758,'User','Unknown'俬俬俬俬俬俬俬俬俬)作为对象类型
从左侧的MSysObjects(名称,1)“~”
如果不想显示系统对象,可以将以下条件添加到where子句中:
AND LEFT(Name, 4) <> 'MSys' AND Type IN (1, 5, 4, 6, -32768, -32764, -32766, -32761,-32756,-32758)
和左(Name,4)“MSys”并键入(1,5,4,6,-32768,-32764,-32766,-32761,-32756,-32758)
我还创建了一个从access数据库检索数据的应用程序,并为此创建了一个新的数据库