我正在使用Access 2000并尝试使用RunCode操作调用VBA函数过程。 如何使用Enum作为该函数调用的参数?
(我已经简化了以下示例中的代码,因此我们可以专注于重要部分)
Enum位于名为 Configuration_Enum 的模块中:
Public Enum configuration
val1 = 1
val2 = 2
End Enum
使用该枚举的函数位于模块 Configuration_Module 中:
Public Function getConfiguration(config As configuration) As Int
getConfiguration = config
End Funtion
我可以使用Enum作为参数调用函数,而不会出现问题:VBA:
getConfiguration( Configuration_Enum.val1 )
现在我想使用vba(使用RunCode操作)进行函数调用,但它无法正常工作:
getConfiguration( [Modules]![Configuration_Enum].[val1] )
不幸的是我使用的是德语版的Access并且没有Error-Id,所以我只能给你翻译错误信息:
对象不包含自动化对象' val1'。
您已尝试运行Visual-Basic过程来设置Object-Property。 但是,自动化流程无法访问该属性。
我试图完成的事情是否可行,或者我只是做错了吗?
答案 0 :(得分:1)
我很确定你不能。您的选择是:
好:摆脱宏并在VBA中完成。
Meh:使用enum中的值作为参数,即getConfiguration(1)