我使用命令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
答案 0 :(得分:0)
您所展示的内容不是过滤表单内容的标准,它是进入当前和/或加载事件的标准,以启用某些控件。
您可以将代码简化为;
Me.frmOrderDetails.visible = Me.POOrderFreeEntry
Me.frmOrderDetailsFreeEntry.visible = Me.POOrderFreeEntry
Me.frmOrderDetailsLarge.visible = Not Me.POOrderFreeEntry
Me.frmOrderDetails.Requery