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 中使用不同字段的条件格式的主要内容,如果未能解决你的问题,请参考以下文章

VBA访问条件格式重置新记录

Access - 可以将条件格式应用于以...开头的文本字段吗?

根据不同条件覆盖 ExtJs 4 中的日期字段格式

Access中的日期格式如何转换?

MS Access:突出显示 MS Access 报告中的特定字段

ASP SQL中,查询条件为日期字段的一个时间段,或者日期字段为空,怎么写查询