アプリケーションの設計
自分のデータベースに合わせてカスタム購読フォームを作成する場合は、IBM(R) Lotus Domino Designer(R) に組み込まれている headlines.nsf データベースまたは headlines.ntf データベースにあるデフォルトの購読フォーム ($Subscription) をひな型にすることができます。まず購読フォームをコピーして設計中のデータベースに貼り付け、カスタマイズします。購読フォームをカスタマイズする場合は、式フィールドを組み込む必要があります。$Subscription フォームの式フィールドは $HLFormula という名前で、フォームの右側にあるタブで区切られた表の 2 番目のタブに表示されます。$HLFormula フィールドは計算結果フィールドです。式フィールドを計算結果フィールドのままにする場合は、購読リストの選択式と解釈される式を書き込みます。式フィールドは、サーバーがユーザーの購読基準を検索できるように、選択式として解釈される必要があります。
式フィールドのもう 1 つのオプションは、[フィールドのプロパティ] インフォボックスの [フィールド情報] タブで [確認してから計算する] を選択することです。[確認してから計算する] オプションを選択した場合、入力した式をコンパイルしないで使用するように式フィールドをプログラムすることになります。この場合の参照フィールドは、テキスト、数値、数値リスト、日付、日付範囲、日付リストのいずれかを指定する必要があります。参照するフィールドがその他の種類の場合は、フィールド参照の対象外とみなされます。
オプションとして [確認してから計算する] が選択された式フィールドの式の例を次に示します。
Select (Names = ExampleNames) & (Numbers = ExampleNumbers) & (Categories = ExampleCategories)& (Dates = ExampleDates)
現在の文書が次のフィールドと値を持つとします。
式フィールドは、次のように文字列として認識されます。
Select (Names = "Sara Ryan/Acme" :"Jack Town/Acme" ) & (Numbers = 1 :2 : 3) & (Categories = "Arizona" :"Florida" :"New York") & (Dates=[3/26/82]:[10/08/86]:[5/30/98]
計算結果オプションを選択した場合は、入力した式は別の式を決定することになります。これにより、複雑な式を保存する前に、その式を最適化できます。式が評価されてから、結果式が保存されます。
結果式が無効の場合は、フィールドはタイプエラーという値で保存されます。場合によっては、ユーザーは文書を永久に終了できなくなります。成功か失敗かを区別するには、QuerySave イベントでテストを行い、式フィールドが実際に式であることを判定する必要があります。実際に式でない場合は、計算は有効な結果式にはなりません。
たとえば、計算結果式フィールドに次の式が設定されているとします。
tLitNames := "\"" + @Implode( ExampleNames; "\" : \"") + "\"";
tLitNumbers := @Implode( @Text(ExampleNumbers); " : ");
tLitCategories := "\"" + @Implode( ExampleCategories; "\" : \"") + "\"";
"Select (Names = " + tLitNames + ") & (Numbers = " + tLitNumbers + ") & (Categories = " + tLitCategories + ")"
Select (Names = "Sara Ryan/Acme" :"Jack Town/Acme" ) & (Numbers = 1 :2 : 3) & (Categories = "Arizona" :"Florida" :"New York")
関連項目