创建一个表格来保存您的“超出范围”规则。
Sample Time Lactics_limit
10 hour .3
20 hour .35
30 hour .4
40 hour .45
50 hour ?
然后将您的表单基于一个查询,该查询将您的原始表连接到 value_limits 表,并带有一个计算字段 ,lactics_flag
它指示值何时超出范围。并将您的条件格式设置在lactics_flag
.
SELECT
y.[Sample Time],
y.Lactics,
y.Sugar,
IIf(y.Lactics > v.Lactics_limit, True, False) AS lactics_flag
FROM
YourTable AS y
INNER JOIN value_limits AS v
ON y.[Sample Time] = v.[Sample Time];
Expression Is
将该方法的简单性与表达相同规则所需的列表的复杂性进行比较:
([Sample Time]="10 hour" And [Lactics]>0.3) Or ([Sample Time]="20 hour" And [Lactics]>0.35) Or ([Sample Time]="30 hour" And [Lactics]>0.4) Or ([Sample Time]="40 hour" And [Lactics]>0.45) Or ([Sample Time]="50 hour" And [Lactics]>?)
这种方法的另一个优点是,当规则存储在表中而不是作为条件格式表达式存储在表单中时,更容易维护规则。并且这些规则可以很容易地重新用于其他表格或报告。
如果您没有规则 every [Sample Time]
,您可以将它们排除在value_limits
表之外并LEFT JOIN
在查询中使用 a 。