当我从记录移动到记录时,如何检查Access中的复选框?
问题描述:
我有一个Access数据库有一个复选框,我需要查看它是“假”还是“真”,因为我从记录到记录。如果复选框为true,则标签的字体颜色和名称应该更改。当我从记录移动到记录时,如何检查Access中的复选框?
这是我的代码,但它不能正常工作:
Private Sub Check796_Click()
lngRed = RGB(255, 0, 0)
lngBlack = RGB(0, 0, 0)
If Me.Check796 = vbTrue Then
Me.Label797.Caption = "Hold"
Me.Label797.ForeColor = lngRed
Else
Me.Label797.Caption = "UnHold"
Me.Label797.ForeColor = lngBlack
End If
End Sub
如果它检查它应该是红色的,并说“持有”,但它是否被选中它应该说是“恢复通话”。如果我选中“保留”复选框,它可以工作,但是当我转到未选中的下一条记录时,它也会显示“保留”。当我关闭应用程序,并点击复选框回到记录中时,标签上会显示“UnHold”,当它应该显示“Hold”时。
答
刚上Form_Current
再次执行该代码:
Private Sub Form_Current()
lngRed = RGB(255, 0, 0)
lngBlack = RGB(0, 0, 0)
If Me.Check796 = vbTrue Then
Me.Label797.Caption = "Hold"
Me.Label797.ForeColor = lngRed
Else
Me.Label797.Caption = "UnHold"
Me.Label797.ForeColor = lngBlack
End If
End Sub
答
要做到这一点,没有任何VBA:
添加您的复选框与控件来源设为您的布尔 (是/否)领域。
添加一个文本框(格式看起来像一个标签)。
给它一个控制=Choose(Abs([Check796])+1,'UnHold','Hold')
的来源布尔 为TRUE返回-1,为FALSE返回0。ABS
删除标志,所以 它现在在0和1
添加1为CHOOSE
需要从1开始- 选择文本,并在FORMAT丝带表单设计工具 选择
Conditional Formatting
。
选择Field Value Is
equal to
"Hold"
格式为红色字体。
太棒了!有效!!!!非常感谢!!!! – tnbumbray