RaceDate
、RaceCourse
、の 3 つのパラメータを持つレポートがありますSilksColours
。SilksColours
パラメータはオプションです。
パラメータが選択されている場合SilksColours
、レポートの行を黄色で強調表示し、他のすべての行は白のままにします。
これは可能ですか?
RaceDate
、RaceCourse
、の 3 つのパラメータを持つレポートがありますSilksColours
。SilksColours
パラメータはオプションです。
パラメータが選択されている場合SilksColours
、レポートの行を黄色で強調表示し、他のすべての行は白のままにします。
これは可能ですか?
強調表示する行の TextBox ごとに、Background Color プロパティを式ベースに設定し、パラメーター値を行の値と比較する必要があります。たとえば、次のようになります。
=IIf(Fields!Colour.Value = Parameters!SilksColours.Value, "Yellow", "White")
コメントの後に編集:
OK、お気づきのように、ここには 2 つの質問があります。
デフォルトのパラメータ
特に値を指定しない機能を備えた多値パラメーターが必要です。値を受け入れるように複数値を設定することはできないNULL
ため、すべてをキャッチする値を DataSet に追加する必要があります。そのため、パラメータは次のような値に基づいています。
この DataSet を使用するようにパラメーターを設定し、既定値をNoneに設定します。
これで、どの行も強調表示されないデフォルトのパラメーターができたので、ユーザーは必要に応じて無視するか、必要に応じて値を選択できます。
ここで 1 つの小さな問題があります。ユーザーは [なし]やその他の値も選択できます。これらは相互に排他的ではありませんが、それで十分なはずです。
行の強調表示
次のステップは、必要なすべての TextBoxの背景色の値を設定することです。複数の色を選択できるため、次のように、複数値パラメーターを単一のものとは異なる方法で処理する必要があります。
=IIf(InStr(Join(Parameters!Colour.Value, ","), Fields!Colour.Value) > 0
, "Yellow"
, "White")
したがって、JOIN
関数を使用して選択した値の文字列リストを作成し、行の値がそのリストのどこかにあるかどうかを確認する必要があります。すべてをまとめると、次のようになります。
パラメータにはデフォルト値があり、行が強調表示されていないため、レポートはすぐに読み込まれます。
1 つの色を選択すると、行が強調表示されます。
複数の行を強調表示するには、複数の色を選択します。
うまくいけば、これがあなたが求めているものです!