次のようなオプショングループを貼り付けたフォームはよくありますが、
このオプショングループで取得した値を基にレポートを作成すると、
ラベル名ではなくオプション値が表示されてしまいます。
次のレポートのようにオプション値を分かりやすいように置き換えるには、「関数」を使います。
レポートのデザインビューから[Blood]のテキストボックスのプロパティを開きます。
>テキストボックスの[名前]フィールドを「Blood」から「Blood1」へ、
[コントロールソース]フィールドを「Blood」から「=Choose([Blood],”A”,”B”,”AB”,”O”)」と記述します。
必ず[名前]フィールドも変更することがポイントです。
[Blood]のフィールドにオプション値が「1」から「4」まで設定されているので、順に「A」から「O」まで記述する。
オプション値がもっとある場合には、追加する。
クエリでは次のように記述します。
オプション値が極端に多い場合には、新たなテーブルや「値リスト」等の作成をしたほうがミスも少なく効率的だと思われます。
Choose関数
構文:Choose(index, choice-1[, choice-2, … [, choice-n]])
引数 |
内容 |
index |
必ず指定します。1 から利用可能な選択肢数までの値を表す数式またはフィールドです。 |
choice |
必ず指定します。1つの選択肢を含むバリアント型の式です。 |
Choose 関数は、引数 index の値に基づいて選択リストから値を返します。引数 index が 1 の場合は、Choose 関数はリスト内の最初の選択肢を返し、引数 index が 2 の場合は、2 番目の選択肢を返します。以下同様に続きます。
Choose 関数を使用すると、選択可能なリストの値を調べることができます。たとえば、引数 index が 3 で、choice-1 = "one"、choice-2 = "two"、choice-3 = "three" の場合、Choose 関数は "three" を返します。これは、引数 index がオプション グループの値を表す場合に特に便利な機能です。
Choose 関数は、選択肢を1つしか返しませんが、リスト内のすべての選択肢を評価します。このため、予期しない現象が発生する場合があります。たとえば、すべての選択肢で MsgBox 関数を式の一部として使用した場合、Choose 関数は値を1つしか返しませんが、各選択肢が評価されるたびにメッセージ ボックスが表示されます。
Choose 関数は、引数 index が 1未満の場合、またはリストの選択肢数を超える場合は Null 値を返します。
引数 index が整数でない場合は、評価される前に最も近い整数に丸められます。(From Microsoft Help)