Notes では、ダイアログリストフィールドなどのキーワードフィールドを中心に別名を使用します。
フォームの場合、フィールドの設定で別名を名称に変換してくれて便利なのですが、ビューの場合はそうはいきません。ビューの列式で変換するか、文書内に別名のほかに表示用の名称を持たせる必要があります。
こんな時によく使い方法を紹介します。
区分(Type)という名称で『ダイアログ』形式の選択のフィールドを作成するとします。
まず、準備作業として、選択肢と別名を保持するフィールド、Type_Lst を作成し、フィールドの値としてセットします。
"質問|1": "要望|2": "障害|3" |
続いて、Type フィールドの選択肢の設定を『式で選択肢を設定』にし、以下の式を設定します。
@GetField(@ThisName + "_Lst") |
最後に、選択した区分の名称を保存する、Type_Name フィールドを『計算結果』として作成、以下の式をセットします。
REM {ベースフィールド名取得}; xFld := @LeftBack(@ThisName; "_"); REM {変換したいコードをセット}; xCD := @GetField(xFld); REM {変換する値を別名形式のリスト値で指定}; xLst := @GetField(xFld + "_Lst"); REM {--------------------------------}; REM { ※ 以下は変更しないこと!}; REM {CDと名称を準備}; xFm := @Trim(@Right(xLst; "|")); xTo := @Trim(@Left(xLst; "|")); REM {CDを名称に変換}; @Replace(xCD; xFm; xTo) |
例によって、内部のコードは可能な限り改変無用のにしています。フィールド名のコントロールと選択肢フィールドの式の調整だけで、応用が可能です。
選択肢フィールドについて将来選択肢の変更を考えた場合、作成当時の選択肢を保持ておきたいなら『作成時の計算結果』、変更を反映し新しい選択肢を有効にしたければ『計算結果』にすればよいかと思います。
0 件のコメント:
コメントを投稿