Я искал всюду для этого, и это похоже на простое исправление, но я не могу найти решение. У меня есть несколько элементов управления Rectangle в моей форме Access 2013, и я создаю событие OnClick, которое обрабатывает их все. Я работал над несколькими различными методами, и я думаю, что нашел самый простой/чистый способ сделать это. Я поместил элементы управления в коллекцию и изменил событие OnClick для каждого элемента управления. Вот моя проблема: Access открывает форму и узнает, что я изменил событие для элемента управления, но как только я щелкнул элемент управления, он выдает ошибку и не будет выполнять событие.Access 2013 VBA - настройка нового события Click для элементов управления
Ошибка:
"The expression On Click entered as the event property setting produced the following error: The expression you entered has a function name that Microsoft Access can't find."
Кодекс:
Private Sub Form_Load()
Dim m_colRectangle As Collection
Dim ctl As Access.CONTROL
Set m_colRectangle = New Collection
For Each ctl In Me.Controls
If ctl.ControlType = acRectangle Then
If ctl.Name = "shpTest" Then
m_colRectangle.Add ctl, ctl.Name
ctl.OnClick = "=TestClick()" ' <--- Error on this line
End If
End If
Next ctl
End Sub
Private Sub TestClick()
MsgBox "Test"
End Sub
Кроме того, я попытался в случае Form_Load простой shpTest.OnClick = "=TestClick()"
, и это произвело ту же самую ошибку. У кого-нибудь есть идеи?
Вау! Это сработало! Я не думал попробовать это. Мой мозг взорвался. Спасибо за помощь! Кстати, я тоже на настольной версии. – JaredS
Ahhhhh Я полагаю, что функция *** является *** выражением, не так ли? – RubberDuck
Я полагаю, что иногда требуется небольшая работа в команде, чтобы увидеть, где все пошло не так. Спасибо вам обоим! – JaredS