当我从记录移动到记录时,如何检查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 
+0

太棒了!有效!!!!非常感谢!!!! – tnbumbray

要做到这一点,没有任何VBA:

  • 添加您的复选框与控件来源设为您的布尔 (是/否)领域。

  • 添加一个文本框(格式看起来像一个标签)。
    给它一个控制 =Choose(Abs([Check796])+1,'UnHold','Hold')
    的来源布尔 为TRUE返回-1,为FALSE返回0。
    ABS删除标志,所以 它现在在0和1
    添加1为CHOOSE需要从1开始

  • 选择文本,并在FORMAT丝带表单设计工具 选择Conditional Formatting
    选择Field Value Isequal to "Hold"格式为红色字体。