我到处都在搜索此内容,这似乎是一个简单的解决方法,但是我似乎找不到解决方法。我在Access 2013表单中有几个Rectangle控件,并且正在创建一个处理它们的OnClick事件。我研究了几种不同的方法,并且我认为找到了最简单/最简单的方法。我将控件放在一个集合中,并为每个控件更改OnClick事件。这是我的问题:Access打开表单并识别出我已更改控件的事件,但是单击控件后,它将引发错误,并且将不执行事件。
错误:
“作为事件属性设置输入的单击时表达式产生了以下错误:输入的表达式具有Microsoft Access找不到的函数名称。”
代码:
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
另外,我shpTest.OnClick = "=TestClick()"
在Form_Load事件中尝试了一个简单事件,这产生了相同的错误。有人有想法么?
错误消息告诉您Access找不到名为TestClick的函数。您的TestClick是子例程,而不是函数。
这是一个简单的示例,已在Access 2010和2013中进行了测试,该示例演示了将函数用于控件的.OnClick
属性可以正常工作,但是您需要一个function。:-)
Private Sub Form_Load()
Dim ctl As Control
Set ctl = Me.Controls("txtMathExpresson")
ctl.OnClick = "=TestClick()"
Set ctl = Nothing
End Sub
Private Function TestClick()
MsgBox "Test"
End Function
请注意,我的Access 2013测试是使用传统的桌面应用程序进行的。如果您使用Access 2013 WebApp,我不知道会发生什么。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句