【问题标题】:Conditional Formatting in Access Using Different FieldsAccess 中使用不同字段的条件格式
【发布时间】: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...

【问题讨论】:

    标签: ms-access conditional-formatting


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多