我需要读取Access 2003数据库中100多个表的属性,并将这些详细信息(表名,字段名,类型和大小)写到文件中以作进一步的文档编制。
我从网络搜索中找不到任何有关读取字段属性的信息,只是字段值...
有人可以告诉我我必须声明哪些记录集变量(和语法)才能遍历数据库中的所有表,并从每个表中提取字段名称,类型和大小吗?我会将结果写入文本文件,但我想我可以解决!:)
在解决之前,我一直处于停滞状态。我花了一天的时间手动记录两个表。一些表有超过100个字段。
带有这些选项的Database Documenter向导应该以最少的工作为您提供所需的内容。
如果这种方法不能令人满意,则可以使用自定义VBA代码收集所需的信息。您可以通过遍历DAO TableDefs集合来检索数据库中表的名称。
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Set db = CurrentDb
For Each tdf In db.TableDefs
' ignore system and temporary tables
If Not (tdf.name Like "MSys*" Or tdf.name Like "~*") Then
Debug.Print tdf.name
End If
Next
Set tdf = Nothing
Set db = Nothing
要获取所需的字段详细信息,请改用Allen Browne的TableInfo()函数...将文件写入语句替换为Debug.Print
语句。请注意,该函数使用2个辅助函数,GetDescrip
和FieldTypeName
,这两个函数都包含在该链接页面中。
这是TableInfo()
数据库中一个表的即时窗口输出示例---我认为它包含您想要的字段信息。
TableInfo "foo"
FIELD NAME FIELD TYPE SIZE DESCRIPTION
========== ========== ==== ===========
id AutoNumber 4
MyNumber Long Integer 4
MyText Text 255
bar Long Integer 4
========== ========== ==== ===========
调整完函数后,从For Each tdf
上面的示例的循环中调用它,并分别提供给它tdf.name
:
TableInfo tdf.name
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句