【问题标题】:Passing Form OpenArgs errors as NULL?将表单 OpenArgs 错误传递为 NULL?
【发布时间】:2020-07-13 21:48:28
【问题描述】:

我正在尝试以对话框的形式打开一个表单,并在 OpenArgs 属性中传递一个字符串。无论我尝试什么,我都会收到Invalid use of null error

表单未打开。它也没有在设计模式下打开。谁能帮我解释一下?

这里是调用线路:

DoCmd.OpenForm strTmpForm, acNormal, , , , acDialog, "Hi"

这是目标表单上的表单打开子

Private Sub Form_Open(Cancel As Integer)
    MsgBox Me.OpenArgs
End Sub

【问题讨论】:

标签: ms-access vba


【解决方案1】:

您确定表单没有打开和隐藏吗?这似乎很可能,因为通常的对话框模式通常涉及隐藏对话框表单以允许在调用方法中恢复控制。

确定:

If SysCmd(acSysCmdGetObjectState, acForm, strTmpForm) <> 0 Then
    DoCmd.Close acForm, strTmpForm
End If

如果这不是问题,那么我会问你是否可以发布整个调用方法而不是调用行。

【讨论】:

  • 耶!!!!在 Oliver 和 Phoog 之间,你救了我!!!!我整天都在搞砸这个。我一直在关闭表格,所以我仍然认为这不是问题。为了以防万一,我确实添加了您的“If SysCmd ...”逻辑。但我认为真正发挥作用的是 NZ() 函数。不知道为什么会这样,但确实如此!谢谢,谢谢,谢谢......
猜你喜欢
  • 2017-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 2014-08-09
  • 2018-05-27
相关资源
最近更新 更多