生成 Microsoft Access 数据库表的列表

生成 Microsoft Access 数据库表的列表

如何让 Microsoft Access 生成数据库表列表?

我遇到了一个 SQL 查询,有人建议另一个网站但是 Access 似乎没有任何界面可以简单地允许运行用户构建的查询,例如下面的查询......

SELECT [Name]
FROM MSysObjects
WHERE Type In (1,4,6)
AND Left([Name] , 4) <> "MSys"
ORDER BY [Name]

答案1

您可以运行查询中的 SQL,因为它就是这样。

  1. 在查询设计中创建新查询,而不是使用向导。
    在此处输入图片描述
  2. 关闭表格窗口。
    在此处输入图片描述
  3. 将视图更改为SQL并输入字符串。
  4. 点击RUN
    在此处输入图片描述

答案2

DAO您可以在以下情况下这样做VB

Public Sub ListTablesDAO()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef

    Set db = CurrentDb
    For Each tdf In db.TableDefs
        If (tdf.Attributes And dbSystemObject) = 0 Then
            Debug.Print tdf.Name
        End If
    Next tdf
    db.Close: Set db = Nothing
End Sub

并且像这样ADO

Public Sub ListTablesADO()
    Dim rs As ADODB.Recordset

    Set rs = CurrentProject.Connection.OpenSchema(adSchemaTables)
    Do Until rs.EOF
        If rs!TABLE_TYPE = "TABLE" Then
            Debug.Print rs!TABLE_NAME
        End If
        rs.MoveNext
    Loop
    rs.Close: Set rs = Nothing
End Sub

DAO 和 ADO 为数据库提供了两种不同的对象模型。选择哪个版本取决于您的偏好。您还需要对相应库的引用:

您可以在菜单中添加这些参考Tools > References

在此处输入图片描述

相关内容