在VBA中定义复杂的静态数据

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

我有一个MS Access项目,我试图定义很多静态数据,我有详细信息加载到一个非常复杂的形式。

我有这个数据的设置类型:

Public Type ColumnData

    Name As String
    Width As Single
    Search As String * 1

End Type

Public Type FormData
    Form_Title As String
    View_Name As String
    Edit_Form As String
    ObjectSingular As String
    ObjectPlural As String
    Columns() As ColumnData
End Type

有没有办法可以将这些数据添加到模块中的全局变量中?与基本数据类型相同:

Public Const g_LoggedIn As Boolean = False
Public Const g_APIKey As String = "ABC123"
Public Const g_TablePrefix as String = "auyhso_"
Public Const g_Columns As Variant = Array("1", "2", "3")

就像是:

Public g_FormData as Collection
g_FormData.Add New FormData(Form_Title:="My Title", View_Name:="My View")
vba ms-access access-vba
1个回答
1
投票

不,这不可能。首先,这个:Public Const g_Columns As Variant = Array("1", "2", "3")已经不起作用了。 Array()是一个功能。你不能拥有常量数组。

VBA仅支持简单数据类型作为常量。

您可以使用一个返回常量而不是常量的函数,并接受应用程序将要执行的次要性能影响。

© www.soinside.com 2019 - 2024. All rights reserved.