【发布时间】:2016-12-15 19:13:04
【问题描述】:
我在表单视图中有一个表单,其中包含一个连续的子表单。
我在该连续子表单上的相关控件(它是一个组合框)的条件格式中有一个条件语句。此条件在评估为 true 时禁用该记录的组合控件:
[Forms]![frmCommuteInSub]![ctlDate]<getStartDate()
我也试过这个说法:
[Forms]![frmCommuteInSub]![ctlDate]<#12/01/2016#
有趣的是,这在主窗体中不起作用……但如果我自己打开子窗体,这种格式就可以正常工作。
有人知道是什么原因造成的吗?我真的需要这个以主要形式工作。
PS。我正在使用 Access 2013。如果有帮助,我精通 VBA 或任何其他语言。
【问题讨论】:
-
我一直在尝试其他功能,似乎
[Forms]![frmCommuteInSub]![ctlDate]没有在子表单中进行评估,但[ctlDate]确实......有人可以解释这种行为吗?他们都评估我是否自己打开子表单......很奇怪...... -
尝试使用
Debug.Print,看看它正在评估什么值。 -
不知道该怎么做。 Debug.Print 不适用于条件格式窗口。但是,我已经测试了原始类型 (>0, Is Null, Is Not Null, Len()>0, ##),然后应该将框变为红色。相同的行为,如果我直接打开子表单,则计算为 date 或 int 类型,但当子表单位于主表单中时则不会。
-
将此代码放在表单上的程序之一中。
Debug.Print [Forms]![frmCommuteInSub]![ctlDate] & " : " & getStartDate()然后打开Immediate Window查看值。 -
语法无效,我认为条件格式窗口不能访问 VBA IDE 中的即时窗口。
标签: ms-access ms-access-2013 conditional-formatting