2016-09-01 10 views
1

レコードを含む単純なレポートと、クエリに基づくグラフがあります。私は私のグラフに凡例のための余地がないので、グラフのそのレコードの色と一致するように、レポートの詳細セクションのフィールドに色付けしようとしています。私はVBAを使用したいと思うようにチャートを塗りつぶすことができますが、列全体を塗りつぶさずにフィールド値を個別に塗りつぶすことはできません。アクセス - 個々のレポートフィールドをフォーマットできません。列全体の色が変更されます。

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) 
    If Me![Field1].Value = 32 Then 
     Me![Field1].ForeColor = vbRed 
    End If 
End Sub 

値が正しく検出されていますが、全体ミー[MyFieldName]の列の変更を赤に場合は、 『someValueの』が存在である:

は、私が試してみました!。

Entire column's color changes

この問題は、ここ数日間、私にナットを駆動されていると私はあきらめることを約です。私は目標値ごとに条件付き書式を書くためにVBAを使用して私の目標を達成することができましたが、Accessの最大4つの条件付き書式設定(デフォルトを含める場合)によりその解決方法がカウントされます。

私は、各レコードのRGB値を格納するために隠しテキストボックスを使用することを検討しましたが、色を適用する必要があるかどうかを判断するために使用される値だけで別のフィールドからターゲット色を取得する条件付きフォーマットはできません。

ご迷惑をおかけして申し訳ありません。ありがとうございました。

答えて

0

Detail_Formatは、使用する正しいイベントです。しかし、他のすべての値の書式をリセットするには、コードにElseケースが必要です。

Dim lColor As Long 

If Me![Field1].Value = 32 Then 
    lColor = vbRed 
' ElseIf Me![Field1].Value = 77 Then ' etc 
'  lColor = vbBlue 
Else         ' default color 
    lColor = vbBlack 
End If 

Me![Field1].ForeColor = lColor 
+0

ありがとうございました!これはうまくいった。本当にかなり恥ずかしいが、ありがとう! – user6781556

関連する問題