0
1つのコンボボックスがあるテストフォームがあります。ボックスに選択したオプションに基づいて条件付き書式を設定します。コンボボックスにはタグ「条件付き」があります。Access 2013で条件付き書式を削除できません
条件付き書式を変更するには、フォーム上で呼び出されたサブフォームが開いている必要があります。将来、これは「条件付き」タグを持つ多くのコンボボックスに適用されます。
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が表示されますので、マクロはが正常に動作しているが、それは古いものを削除したり、新しい書式を追加しません。私は何が欠けていますか?
その後、それを保存する必要がありますデザインビュー?ユーザーがボタンを押すとコードが実行されます。 – jjjjjjjjjjj
@jjjjjjjjjjj:状況をさらに説明する必要があるかもしれません(質問を編集してください)。サブがすべてのForm_Openで実行されている場合は、変更が永続的でないかどうかは関係ありません。あるいは、あなたの '.FormatConditions.Delete'行は、現在のフォームインスタンスでさえ、まったく動作しませんか? – Andre
後者です。ラインはまったく動作しません。 – jjjjjjjjjjj