在vba中获取自定义数据库属性

问题描述 投票:1回答:1

在“文件”菜单的“信息”部分的ms-access-2016中,有一个指向“查看和编辑”数据库属性的链接。单击链接时,会出现一个包含5个选项卡的框,最右边的是自定义选项卡。此选项卡提供用于向数据库文档添加自定义属性的用户界面。

我通过添加名为“ask”的布尔属性来测试它。这很好用;它可以节省;它在退出并重新启动后返回。现在我想在vba中访问该属性。

我使用以下代码枚举了数据库属性:

Public Sub paEnumerateDatabaseProperties()
    Dim db As DAO.Database
    Dim prp As Property
    Set db = CurrentDb
    For Each prp In db.Properties
        On Error Resume Next
        Debug.Print prp.Name, prp.value, prp.Type
       If Err.Number <> 0 Then Debug.Print "Error: "; Err.Number, prp.Name
    Next prp
    Set prp = Nothing
    Set db = Nothing
End Sub 

运行此代码将创建db.properties集合中52个属性中的51个属性的列表,以及connections属性的一个错误。但我的自定义Ask属性不在此集合中。它也不在应用程序选项集合中。

有人知道它藏在哪里吗?谢谢

vba ms-access-2016
1个回答
2
投票

在名为“UserDefined”的DAO.Document中查找您的自定义属性,该属性包含在“Databases”容器中。

'For Each prp In db.Properties
For Each prp In db.Containers("Databases").Documents("UserDefined").Properties
© www.soinside.com 2019 - 2024. All rights reserved.