目的を達成するには、ビューに Name|ID (パイプ記号) の形式で値を含める必要があります。
列の値:
Benz|1
Fiat|2
Yamaha|3
コメントへの対応: ベスト プラクティス (パフォーマンスに関する) は、数式を使用してビューに別の列を作成するName + "|" + ID
ことです (ビューをユーザーと DBColumn に使用する場合、それを非表示にすることができます。ところで、悪い習慣は何でしょうか)。 .
これを行いたくない場合、数式は次のようになります。
_names := @DbColumn("" : "NoCache"; ""; "myview"; 2);
_ids := @DbColumn("" : "NoCache"; ""; "myview"; 1);
_names + "|" + @Text(_ids)
Lotus Notes Design のトレーニングはすべて基本的なものであるため、Lotus Notes の仕組みを理解したことがあれば、ぜひ受講してください。
上記の式は多くの点で悪いです:
- 「NoCache」の使用は、実際のパフォーマンスキラーです。大きなアプリケーションでは行わないでください
- 検索を 1 回ではなく 2 回行うと、応答時間が 2 倍になります
- すべてのルックアップにはエラー処理が必要です。そうしないと、エラーが発生した場合にフォームが開かなくなります。
- DBColumn の戻り値が 32k を超えるデータ (大きなリスト) である場合、Lotus Notes のフィールド制限により、このすべてが失敗します。
これを行う「ベスト プラクティス」の方法 (考えられる 32k エラーを無視する) は次のようになります。
数式を使用して (非表示の) 3 番目の列を持つビューを作成するName + "|" + ID
次のコードを使用します。
_view := "myview";
_col := 3;
_lkp := @DBColumn( "" : "Cache" ; "" ; _view; _col );
@If( @IsError( _lkp ) ; "" ; _lkp )