当前位置:  开发笔记 > 编程语言 > 正文

OpenArgs是Null错误

如何解决《OpenArgs是Null错误》经验,为你挑选了2个好方法。

我在使用时使用OpenArgs参数发送值DoCmd.OpenForm:

DoCmd.OpenForm "frmSetOther", acNormal, , , acFormAdd, acDialog, "value"

然后我Me.OpenArgs在打开的表单中使用以获取.它有时会发送Null值而不是原始字符串.怎么了?



1> Mathieu Pagé..:

这通常发生在开发期间,表单已经被oppened(例如在编辑模式下),并且您调用了docmd.OpenForm函数.在这种情况下,表单处于正常(视图)模式,并引发OnOpen和OnLoad事件,但OpenArgs属性设置为null,而不是您传递给docmd.OpenForm的内容.

显然,在使用docmd.OpenForm调用表单之前关闭表单.但是我想使用一种解决方法.在OnOpen事件中,我检查me.OpenArgs是否为null,如果是,我将其替换为一些调试值.

if not isnull(me.OpenArgs) then
   myvalue = me.OpenArgs
else
   msgbox "Debug mode"
   myValue = "foo"
endif



2> 小智..:

我刚遇到这个问题.该Arg字符串没有获得通过,因为该报告已经打开,但不可见.当代码崩溃时,它一直处于打开状态Null string error.

解决方案是在即时窗口中关闭报告

Docmd.Close acReport, "myReport"

它修复了我的bug并且args正确传递了.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有