我有一个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")
不,这不可能。首先,这个:Public Const g_Columns As Variant = Array("1", "2", "3")
已经不起作用了。 Array()
是一个功能。你不能拥有常量数组。
VBA仅支持简单数据类型作为常量。
您可以使用一个返回常量而不是常量的函数,并接受应用程序将要执行的次要性能影响。