0

我正在尝试获取用于在访问数据库中生成查询的表和字段的列表。我能够识别在查询输出中找到的字段,但不能识别用于设计查询的字段。

换句话说,是否可以获得在 Access 中查询的设计视图的查询生成器部分中指定的表和字段名称?

我发现并开发了一些 VBA 代码,这些代码获取查询输出中的所有字段(如下),但这并没有得到我需要的信息。是否有可能实现我正在寻找的东西?

Function listQueryFields() As String

    Dim db As DAO.Database
    Dim qry As DAO.QueryDef
    Dim fld As Field
    Dim rs As Recordset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("tbl_Query_Field_Names")

    For Each qry In db.QueryDefs
        If InStr(1, qry.Name, "_qry_", vbTextCompare) > 0 Then
            Debug.Print qry.Name
                For Each fld In qry.Fields
                   Debug.Print fld.Name
                   rs.AddNew
                        rs(0) = qry.Name
                        rs(1) = fld.Name
                    rs.Update
                 Next

        End If
    Next

    Set db = Nothing
    Set rs = Nothing
    Exit Function

End Function
4

1 回答 1

2

获取原始字段名称:

fld.SourceField

获取原始表名

fld.SourceTable

提示:您始终可以在 MSDN 的 API 中找到可用的属性,在这种情况下:https ://msdn.microsoft.com/en-us/library/office/dn123487.aspx 或使用 VBA 编辑器中的智能感知。

于 2015-09-23T12:43:57.840 回答