我正在使用OpenArgs
使用时发送值的参数DoCmd.OpenForm
:
DoCmd.OpenForm "frmSetOther", acNormal, , , acFormAdd, acDialog, "value"
然后我用Me.OpenArgs
在打开的表格内抓取value。有时它会发送一个Null值而不是原始字符串。怎么了?
这种情况经常发生在开发过程中,此时表单已经打开(例如在编辑模式下)并且您调用 docmd.OpenForm 函数。在这种情况下,表单将置于正常(视图)模式,并引发 OnOpen 和 OnLoad 事件,但无论您传递给 docmd.OpenForm 的内容如何,OpenArgs 属性都设置为 null。
解决方案显然是在使用 docmd.OpenForm 调用表单之前关闭该表单。不过,有一个我喜欢使用的解决方法。在 OnOpen 事件中,我检查 me.OpenArgs 是否为空,如果是,我将其替换为一些调试值。
if not isnull(me.OpenArgs) then
myvalue = me.OpenArgs
else
msgbox "Debug mode"
myValue = "foo"
endif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)