DoCmd.Open不在Acces 2016中加载我的onload标准

时间:2018-05-30 09:00:52

标签: ms-access access-vba

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

我打开表格:

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

当表单打开时,需要在On Load上执行以下操作:

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时,它没有使用Criteria

1 个答案:

答案 0 :(得分:0)

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

您可以将代码简化为;

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