【问题标题】:ms access - checkbox based on value of textboxms 访问 - 基于文本框值的复选框
【发布时间】:2012-06-06 21:53:57
【问题描述】:

我在 access 2007 中构建报告,并尝试根据文本框中字符串的值将复选框设置为 true。 例如:如果 txtBoxValue = "Injury" 那么 chkBoxValue = True(Checked) Else chkBoxValue = False(unchecked)。

这是我在 chkBoxValue 的源代码管理中的值。

=IIf([txtBoxValue]=”Injury”,1,0)

我是 VBA 新手,如有任何帮助,我们将不胜感激。

【问题讨论】:

    标签: ms-access vba checkbox


    【解决方案1】:

    这应该作为chkBoxValue的控制源:

    =([txtBoxValue]="Injury")
    

    请注意您在 VBA 代码中使用的引号。请注意,您使用了“(ASCII 148),而我使用了”(ASCII 34)。

    编辑:正如@nicholas 指出的那样,当[txtBoxValue] 为Null 时,控制源表达式将为您提供Null。如果您更喜欢False,请添加Nz() 函数。

    =(Nz([txtBoxValue],"")="Injury")
    

    【讨论】:

    • 这个表达式可以导致一个三态复选框。如果 [txtBoxValue] 的值为 null,则该复选框既不会被选中也不会被选中 - 它将呈灰色阴影。
    【解决方案2】:

    True / False 字段在 Access 中使用值 -1 和 0。你也有常量 TRUE 和 FALSE。

    复选框的控制源应为:

    =IIf([txtBoxValue]="Injury",TRUE,FALSE)
    

    【讨论】:

    • 这可能是真的。如果字段是在报表设计器视图中定义的,或者表达式是在表达式构建器中定义的,则单引号就足够了。但是,双引号总是有效的,所以我按照建议更改了它。
    猜你喜欢
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 2014-10-10
    • 2021-01-28
    • 2012-02-16
    • 2020-10-26
    相关资源
    最近更新 更多