Ms access 获取用于在Access VBA中创建查询的表名和字段名

Ms access 获取用于在Access VBA中创建查询的表名和字段名,ms-access,vba,tablename,field-names,Ms Access,Vba,Tablename,Field Names,我正在尝试获取用于在access数据库中生成查询的表和字段的列表。我能够识别查询输出中的字段,但不能识别用于设计查询的字段 换句话说,是否可以获取Access中查询的设计视图的查询生成器部分中指定的表名和字段名 我发现并开发了一些VBA代码,这些代码可以获取查询输出中的所有字段(如下所示),但无法获取我需要的信息。有可能实现我所追求的目标吗 Function listQueryFields() As String Dim db As DAO.Database Dim qry A

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

换句话说,是否可以获取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

获取原始字段名:

fld.SourceField
获取原始表名

fld.SourceTable
提示:您总是可以在MSDN的API中找到可用的属性,在这种情况下:
或者在VBA编辑器中使用intellisense。

对其进行排序,谢谢asdev。MSDN链接也将非常有用。