Код VBA, который изменяет цвет фона формы после обновления - PullRequest
1 голос
/ 24 марта 2011

Мне нужен код, который, когда флажок снят, изменяет цвет фона моей формы и возвращает его обратно в исходный цвет, если установлен флажок.Код, который у меня есть для этого флажка, в настоящее время блокирует поле со списком при выборе значения.Пример ниже

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 Ответ

5 голосов
/ 24 марта 2011

В стандартном модуле (не в модуле формы - область действия констант будет ограничена формой, поэтому вы не сможете их повторно использовать):

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
...