无法删除 Access 2013 中的条件格式
Unable to delete conditional formatting in Access 2013
我有一个带有单个组合框的测试表单,我在其中根据框中选择的选项设置了一些条件格式。组合框有标签 "Conditional."
要更改条件格式,我有一个名为 on form open 的子程序。将来,这将应用于许多带有 "Conditional" 标签的组合框。
Private Sub ApplyCondFormatting()
Dim objFrc As FormatCondition
Dim ctl As Control
For Each ctl In Me.Controls
If ctl.Tag = "Conditional" Then
With ctl
'Remove format conditions
.FormatConditions.Delete
MsgBox ("Test")
'Apply new format conditions
Set objFrc = .FormatConditions.Add(acExpression, acEqual, "[Value] = Correct")
Set objFrc = .FormatConditions.Add(acFieldValue, acEqual, "[Value] = Incorrect")
'Specify the formating conditions
.FormatConditions(0).BackColor = RGB(0, 255, 0)
.FormatConditions(0).Enabled = True
.FormatConditions(1).BackColor = RGB(255, 0, 0)
.FormatConditions(1).Enabled = True
End With
End If
Next ctl
Set objFrc = Nothing
End Sub
MsgBox 出现,所以宏是 运行 正确,但它不会删除旧格式或添加新格式。我错过了什么?
这应该有效,但它仅适用于 "temporarily" 当前打开的表单。
如果你想让它永久化,你必须事先在设计视图中打开表格
DoCmd.OpenForm strMyForm, acDesign
然后保存
DoCmd.Save acForm, strMyForm
我有一个带有单个组合框的测试表单,我在其中根据框中选择的选项设置了一些条件格式。组合框有标签 "Conditional."
要更改条件格式,我有一个名为 on form open 的子程序。将来,这将应用于许多带有 "Conditional" 标签的组合框。
Private Sub ApplyCondFormatting()
Dim objFrc As FormatCondition
Dim ctl As Control
For Each ctl In Me.Controls
If ctl.Tag = "Conditional" Then
With ctl
'Remove format conditions
.FormatConditions.Delete
MsgBox ("Test")
'Apply new format conditions
Set objFrc = .FormatConditions.Add(acExpression, acEqual, "[Value] = Correct")
Set objFrc = .FormatConditions.Add(acFieldValue, acEqual, "[Value] = Incorrect")
'Specify the formating conditions
.FormatConditions(0).BackColor = RGB(0, 255, 0)
.FormatConditions(0).Enabled = True
.FormatConditions(1).BackColor = RGB(255, 0, 0)
.FormatConditions(1).Enabled = True
End With
End If
Next ctl
Set objFrc = Nothing
End Sub
MsgBox 出现,所以宏是 运行 正确,但它不会删除旧格式或添加新格式。我错过了什么?
这应该有效,但它仅适用于 "temporarily" 当前打开的表单。
如果你想让它永久化,你必须事先在设计视图中打开表格
DoCmd.OpenForm strMyForm, acDesign
然后保存
DoCmd.Save acForm, strMyForm