gpt4 book ai didi

ms-access - 如何循环访问MS Access DB中的所有表

转载 作者:行者123 更新时间:2023-12-03 14:43:20 25 4
gpt4 key购买 nike

我需要读取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() function ...替换文件写入语句替换为 Debug.Print语句。请注意,该函数使用2个辅助函数 GetDescripFieldTypeName,这两个辅助函数都包含在该链接页面中。

这是我数据库中一个表的 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

关于ms-access - 如何循环访问MS Access DB中的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17555174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com