2012-06-06 58 views
1

我在訪問2007年中構建報表,並嘗試根據文本框中字符串的值將複選框設置爲true。 例如:如果txtBoxValue =「Injury」,則chkBoxValue = True(選中)否則chkBoxValue = False(未選中)。ms訪問 - 基於文本框的值的複選框

這是我在chkBoxValue的源代碼控制中的值。

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

我是新來的VBA,任何幫助,將不勝感激。

回答

4

這應該作爲chkBoxValue控制源的工作:

=([txtBoxValue]="Injury") 

要小心你的VBA代碼使用引號。請注意,您使用」(ASCII 148),我用「(ASCII 34)

編輯:作爲@nicholas指出的,控制源表達會給你空當[txtBoxValue]爲Null如果你喜歡False相反,添加Nz()功能。

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

這個表達式可以導致一個三態複選框,如果[txtBoxValue]的值爲空,則該che ckbox將不會被檢查也不會被取消選中 - 它會變成灰色。 – nicholas

0

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

複選框的控制源應該閱讀:

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

這可能是真的。如果該字段在報表設計視圖中定義或表達式在表達式生成器定義,單引號是足夠的。但是,雙引號會一直工作,所以我改變按照建議 – nicholas