如何动态地将函数分配给控件的onClick属性

时间:2015-04-09 07:20:18

标签: ms-access events access-vba

在访问表单中的控件上,我想动态更改使用onClick属性调用的函数。

所以,有一个功能,比如说

public function m(a as string)
    call msgBox(a)
end function

在某个地方,在另一段代码中,我有这个

dim nb as navigationButton
set nb = createNavigationButton(.....)
nb.name = "nav...."
nb.onClick = "=m(""dummy"")"

我有这个工作

然而,我改变了一些东西,但我不知道它是什么。现在,当调用行nb.onClick时,访问权限告诉我相当无用的运行时错误' 7960':编译函数时出错

注意,我不能使用"普通" eventhandler(sub navXYZ_Click)因为控件是动态创建的。

1 个答案:

答案 0 :(得分:0)

你想要做的是这样的事情:

Command0.OnClick = "=m(""dummy"")"
Command0.Caption = "Hello"

这已在Access 2010中测试并正常运行

我在它自己的模块和表单后面的模块中使用函数m(作为字符串)对它进行了测试,并且它在两个方面都完美地工作。