創建一個表來保存你的「越界」規則。
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]>?)
這種方法的另一個優點是,它更容易維護您的規則時它們存儲在表格中,而不是作爲表單中的條件格式表達式存儲。這些規則可以很容易地重新用於其他形式或報告。
如果您沒有每個[Sample Time]
的規則,可以將它們留在value_limits
表之外,並在查詢中使用LEFT JOIN
。
檢出條件格式http://office.microsoft.com/zh-cn/access-help/change-the-appearance-of-a-control-by-using-conditional-formatting-HA010208133.aspx – Fionnuala
@ Remou我可以說,如果> .3的話會變成紅色,但是如果> .3和10小時我不知道如何說紅,如果> .35和20小時是紅,如果> .4和30小時紅,紅如果> .45和40小時.... – riley3131
條件格式設置爲'表達式'將適用於我。我只希望有更好的方法來管理代碼。這將工作,雖然... – riley3131