Ms access 获取用于在Access VBA中创建查询的表名和字段名
我正在尝试获取用于在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
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链接也将非常有用。