Microsoft Access: как выбрать имя для процедуры события? - PullRequest
0 голосов
/ 11 июля 2019

Можно ли выбрать имя для процедуры события VBA в Microsoft Access (во время разработки) вместо использования, автоматически назначаемого системой?Например, «автоматическое» имя обработчика для события Before Insert в форме: Form_BeforeInsert;Я хотел бы выбрать что-то еще.Аналогичная проблема для значения поля (которое будет возвращено пользовательской функцией) может быть решена путем присвоения =myFuncName(param_list) в листе свойств для данного поля, но такой подход не работает для процедуры события.Случай процедуры обработки событий выглядит сложнее, потому что такая процедура может принимать некоторые параметры, значение которых впоследствии используется системой: например, обработчику Before Insert требуется параметр cancel, и система может отклонить вставку в обработчик, установив его в true (или 1).

Заранее благодарим за любые предложения

1 Ответ

2 голосов
/ 11 июля 2019

Нет, ты действительно не можешь.Чтобы использовать процедуры обработки событий, вы должны придерживаться определения исходного интерфейса.В противном случае VBA не узнает, что это процедура события, запускаемая при возникновении события.

Один из вариантов, который следует рассмотреть, - это делегировать работу вашей собственной процедуре:

Private Sub Form_BeforeInsert(Cancel As Integer)
  DoMyThing Cancel
End Sub

Private Sub DoMything(Cancel As Integer)
  'Doing my thing
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...