Это очень долго стоять ошибка, которая была вокруг со времен доступа 97, (около 4-5 версий доступа).
Решения здесь НИКОГДА не используйте форму спецификатора, просто поместите его в вашем на действие события, и вы будете просто отлично
=PopUpProcess()
Обратите внимание, что вы должны предшествовать его с = и суффикс должен иметь скобки()
Имейте в виду, что вы можете использовать поведение в своих интересах. Функция, которая запускается, будет из формы, которая в настоящее время фокусируется на экране. Это означает, что у вас могут быть разные формы с одним и тем же именем функции, и в зависимости от того, какая форма имеет фокус, функция с этим именем будет запускаться из этого модуля кода формы.
Еще лучше, если одна из форм не имеет этой функции как общедоступной в модуле кода форм, то используется функция в стандартном модуле кода. Таким образом, у вас может быть девять форм, которые используют стандартную одну функцию в основном стандартном модуле кода. Тем не менее, для 10-й формы может потребоваться запуск специального кода, поэтому вы просто помещаете этот код функции в модуль кода формы как общедоступный, и он будет запускаться вместо публики в стандартном модуле кода.
Этот подход позволяет вам создать единую настраиваемую панель меню, которая применяется ко многим различным формам, но эти многие формы будут запускать другой код из этой пользовательской строки меню. Это также побуждает вас размещать код меню в том виде, в котором он принадлежит.
Чтобы решить вашу проблему, просто не используйте квалификатор формы и используйте вышеуказанный формат.
Обратите внимание, что вы можете передать параметры из этих функций также, например
=PopUpProcess(‘hello’)
А потом объявить функцию как:
Public Function PopUpProcess(strParm as string)
Имейте в виду, что функции и синтаксис, и все то, что Я уже говорил выше, когда вы используете действие on в ленте для доступа 2007.
Есть ли другая функция в форме, которая также может вызывать функцию? Например, если вы добавите пустую функцию в форму (например, «Public Function DoesNothing») и вызовите eval («forms (« MyForm »). DoesNothing»), вы получаете окно сообщения? – anschauung