【问题标题】:DoCmd.Open Does not load my onload criteria in Acces 2016DoCmd.Open 不会在 Access 2016 中加载我的加载标准
【发布时间】:2018-05-30 09:00:51
【问题描述】:

我正在使用 DoCmd.OpenForm 命令在 VBA 中打开一个表单,但是当该表单打开时,它没有加载我的 onload 标准。 当我以任何不同的方式打开表单时,它会加载 VBA 中设置的加载标准。 我做错了什么?

我打开表单:

DoCmd.OpenForm "frmOrder", acNormal, "", "", , acNormal

当表单打开时,它需要在加载时执行以下操作:

If Me.POOrderFreeEntry = True Then
    Me.frmOrderDetails.visible = True
    Me.frmOrderDetailsFreeEntry.visible = True
    Me.frmOrderDetailsLarge.visible = False
    Me.frmOrderDetails.Requery
Else
    Me.frmOrderDetails.visible = False
    Me.frmOrderDetailsFreeEntry.visible = False
    Me.frmOrderDetailsLarge.visible = True
    Me.frmOrderDetailsLarge.Requery
End If

但是,它仅在我使用宏或任何其他方式打开表单时才有效。 使用 DoCmd.OpenForm 它不使用标准

【问题讨论】:

  • 没有看到代码,我们都会猜测。发布整个不起作用的例程,而不仅仅是 openform 行。
  • 您在打开表单命令中没有条件。在这里阅读baldyweb.com/wherecondition.htm
  • 我已经尝试了这个标准,它得到了相同的结果:-(
  • 我真的把它删了,看看有没有效果..但是没有结果
  • 好的 - 回到我的第一点,您要设置的标准是什么?以及您在负载上运行的其他代码。请向我们展示整个代码 - 没有上下文的 sn-ps 没有任何意义。

标签: ms-access vba


【解决方案1】:

您显示的不是过滤表单内容的标准,而是将进入当前和/或加载事件以启用某些控件的标准。

您可以将代码简化为;

Me.frmOrderDetails.visible = Me.POOrderFreeEntry 
Me.frmOrderDetailsFreeEntry.visible = Me.POOrderFreeEntry 
Me.frmOrderDetailsLarge.visible =  Not Me.POOrderFreeEntry 
Me.frmOrderDetails.Requery

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多