Я использую Access 2000 и пытаюсь вызвать функцию функции VBA с помощью действия RunCode. Как использовать Enum в качестве аргумента для вызова этой функции?Использование Enums в качестве аргументов в vba
(я упростил код в следующем примере, поэтому мы можем сосредоточиться на важных частей)
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 и нет ошибок Id, так что я могу только дать вам мое перевод сообщения об ошибке:
Объект не содержит объект автоматизации 'val1'.
Вы попытались выполнить процедуру Visual Basic для установки Object-Property. Однако процессы автоматизации не имеют доступа к этому свойству.
ли, что я пытаюсь достичь даже возможно или я просто doint это не так?
Правда. Вы также не можете использовать Enum в выражениях SQL запроса. Лучший совет - пропустить макросы. Там даже есть мастер для преобразования их в VBA. – Gustav