更新后更改窗体背景颜色的VBA代码

时间:2011-03-24 16:18:07

标签: ms-access vba access-vba

我需要一些代码,当取消选中复选框时,它会更改表单的背景颜色,并在选中时将其恢复为原始颜色。我选中的复选框代码当前会在选择值时锁定组合框。以下示例

Private Sub AccessKeyNo_AfterUpdate()
If MsgBox("Do you want to assign Access Key " & Me.AccessKeyNo & "?", _
        vbYesNo) = vbYes Then
    Me.GuestAccessKeyID = Me.AccessKeyNo

    If Me.Dirty Then Me.Dirty = False
    Me.AccessKeyNo.Requery
    Me.AccessKeyNo = Null

    Me.MyCheckBox = IsNull(Me.GuestAccessKeyID)
End If
End Sub

1 个答案:

答案 0 :(得分:5)

在标准模块中(不是表单模块 - 常量的范围将限于表单,因此您将无法重用它们):

Public Const colorBlue_Cornflower = "15714765"
Public Const colorTan_Encarnacion = "11398133"

现在在表单模块中:

Dim colorThis as String, booWhatever as Boolean

booWhatever = Me.MyCheckBox  ''Use of the variable can prevent problems

If booWhatever Then
     colorThis = colorBlue_Cornflower
Else
     colorThis = colorTan_Encarnacion 
End If

subFrm.Form.Section(acDetail).BackColor = colorThis 
subFrm.Form.Section(acHeader).BackColor = colorThis 

subFrm.Form.Repaint