gpt4 book ai didi

ms-access - Access 2013 VBA - 为控件设置新的点击事件

转载 作者:行者123 更新时间:2023-12-04 17:00:05 24 4
gpt4 key购买 nike

我到处寻找这个,这似乎是一个简单的修复,但我似乎无法找到解决方案。我的 Access 2013 表单中有几个 Rectangle 控件,我正在创建一个处理它们的 OnClick 事件。我研究了几种不同的方法,我想我找到了最简单/最干净的方法。我将控件放在一个集合中并更改每个控件的 OnClick 事件。这是我的问题:Access 打开表单并识别出我更改了​​控件的事件,但是一旦我单击该控件,它就会引发错误并且不会执行该事件。

错误:

"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

或者,我尝试了一个简单的 shpTest.OnClick = "=TestClick()"在 Form_Load 事件中,这产生了相同的错误。有人有想法么?

最佳答案

错误消息告诉您 Access 找不到 功能 命名为 TestClick。您的 TestClick 是一个子程序,而不是一个函数。

这是一个更简单的示例,在 Access 2010 和 2013 中进行了测试,它演示了将函数用于控件的 .OnClick属性(property)可以工作......但你需要一个功能 . :-)

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,我不知道会发生什么。

关于ms-access - Access 2013 VBA - 为控件设置新的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26428818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com