Access 中使用不同字段的条件格式
Posted
技术标签:
【中文标题】Access 中使用不同字段的条件格式【英文标题】:Conditional Formatting in Access Using Different Fields 【发布时间】:2015-11-24 19:08:14 【问题描述】:我有一个嵌入了子表单的表单。如果嵌入子表单中的字段为 True (1),我想使用条件格式将整个表单中的字段更改为粉红色背景颜色。到目前为止,我有: 仅格式化以下单元格: 表达式为:
Forms!frmSubForm!TextField.Value="True"
但这不起作用。关于我做错了什么的任何想法? 我正在检查“True”的值来自 SQL 的 dbo 表,如果为真,则值为 1,如果为假,则值为 0。 Access 似乎会在表单视图中自动将 1 转换为 True,将 0 转换为 False。不过,我不确定“True”的检查是否正确,或者是否应该检查“1”或1...
【问题讨论】:
【参考方案1】:这取决于 SQL 中的字段类型。如果有点,请尝试以下操作:
SELECT CAST('TRUE' as bit) -- RETURN 1
SELECT CAST('FALSE' as bit) --RETURN 0
如果是 varchar 或 int,那也可以。
【讨论】:
我刚查了一下,数据确实是bit类型的。有没有办法在条件格式的表达式中解释这一点?我不想更改 SQL dbo 中的任何内容。 然后你需要在 Forms!frmSubForm!TextField.Value="1" 的地方进行条件格式化,因为它已经有点了。不过,请在 Access 的设计视图中仔细检查链接表,因为我很确定在 Access 中某个位字段会转换为是/否。 是的,好电话。它在 Access 中作为是/否被拉入。检查“1”是否仍然有效? 如果是/否,则 -1 = True 和 0 = False(或者我可能会倒退)。不过,它肯定是 -1 和 0。【参考方案2】:最安全的方法可能是检查<> 0
,这样可以避免 1 / -1 / True 混淆。
Forms!frmSubForm!TextField.Value <> 0
【讨论】:
以上是关于Access 中使用不同字段的条件格式的主要内容,如果未能解决你的问题,请参考以下文章
Access - 可以将条件格式应用于以...开头的文本字段吗?