当前位置 : 主页 > 网络推广 > seo >

ms-access – MS ACCESS通过查询检索“表描述”

来源:互联网 收集:自由互联 发布时间:2021-06-16
我一直在寻找一种方法来访问表的描述(当你右键单击表表属性时出现的那个)通过SELECT查询. 我尝试使用MSysObjects,但我只能使用它来检索表的名称. 是否可以通过查询执行此操作或需要
我一直在寻找一种方法来访问表的描述(当你右键单击表>表属性时出现的那个)通过SELECT查询.

我尝试使用MSysObjects,但我只能使用它来检索表的名称.

是否可以通过查询执行此操作或需要VBA?

正如Remou所说,你不能从查询中获取它(但你可以包含一个在查询中返回它的函数).这是另一个功能:

Public Function GetTableDescr(stTableName As String) As String
On Error Resume Next
GetTableDescr = CurrentDb.TableDefs(stTableName).Properties("Description").Value
End Function

这是一个返回所有非系统表及其日期和描述的查询(使用上面的函数):

SELECT MSysObjects.Name, msysobjects.datecreate, msysobjects.dateupdate, GetTableDescr([Name]) AS Description
FROM MSysObjects
WHERE (((MSysObjects.Name) Not Like "~*") AND((MSysObjects.Name) Not Like "MSys*") and ((MSysObjects.Type)=1));

最后,您可以为查询执行几乎相同的功能.我发现的技巧是你只返回非继承的描述,否则如果查询没有描述你得到查询对象的描述:

Public Function GetQueryDescr(stQryName As String) As String
On Error Resume Next
If CurrentDb.QueryDefs(stQryName).Properties("Description").Inherited = False Then
    GetQueryDescr = CurrentDb.QueryDefs(stQryName).Properties("Description").Value
End If
End Function

On Error Resume Next是必需的,因为在对象具有描述之前,属性为null.

网友评论