編集可能フィールドと計算結果フィールド

フィールド作成時に、[フィールドのプロパティ] インフォボックスで、フィールドを編集可能または計算結果のどちらにするかを選択できます。フィールドが編集可能な場合、ユーザーはフィールドの値の入力または変更を行うことができます。フィールドが計算されると、式によってフィールドの値が算出されます。ユーザーは、計算結果フィールドの値を変更することはできません。数値、日付/時刻、作成者、読者、名前の各フィールドは、通常、計算結果です。テキスト、リッチテキスト、選択肢リストの各フィールドは、通常、編集可能です。

フィールド式を記述する

プログラムペインの [リファレンス] タブを使用して、フィールド、@コマンド、@関数のリストにアクセスします。参考リストをショートカットとして使用して、@関数や @コマンドを検索して式に貼り付けることができます。

計算結果フィールド式

計算結果フィールドは、作成者名や日付のようなデータをフィールドに自動入力するのに使用されます。フォーム上には、複数の計算結果フィールドを配置できます。計算結果フィールドには、値を求めるための式が必要です。例えば、計算結果フィールドを使用して、作成日付を文書に割り当てます。計算結果フィールドは通常、ユーザーが以下のことを行うと再計算されます。

文書の作成

[表示] - [フィールドの更新] を選択する

F9 キーを押す

文書を保存する

すべてのタイプの計算結果フィールドが計算されるのは、ユーザーが画面上で文書を開いているときのみです。エージェントが文書を更新しても、計算結果フィールドは自動的に更新されません。文書を編集していないときに式を再計算する方法については、NotesDocument.ComputeWithForm および @Command([ViewRefreshFields]) を参照してください。

あるフィールドが他のフィールドの値に依存していて、このフィールドの有効性を確認してから計算を実行したい場合は、[確認してから計算する] フィールドプロパティを選択すると便利です。

ユーザーにとって処理した結果を表示することが重要な場合、フォームのプロパティとして [フィールドを自動更新] を選択すると、各フィールドに入力されたら強制的に計算されるようにできます。これは、フォームの末尾にあるフィールドが先頭のフィールド値に依存している場合に便利です。 フォームに多くの計算結果フィールドが定義されている場合にこのプロパティを使用すると、文書の表示時間が遅くなることがあるため、注意が必要です。

計算結果フィールドには、次の 3 つの種類があります。

計算結果フィールドの種類

式計算

計算結果

計算結果フィールドの式により、文書の作成、保存、更新のたびに計算されます。ユーザーが文書を開いているときには (編集モードでも)、このフィールドは更新されません。

作成時の計算結果

作成時の計算結果フィールドの式は、ユーザーが最初に文書を作成した場合だけ計算を実行します。作成日付や最初の作成者など、文書の初期状態の情報を保存する場合には、計算結果フィールドの式を使用します。また、文書の通し番号など、最初の値をそのまま使用するフィールドを作成するときにも使用します。

表示用の計算結果

表示用の計算結果フィールドの式は、ユーザーが文書を開くまたは保存するたびに再計算されます。表示用の計算結果フィールドの式は、現在の時刻や保存する必要のない計算結果など、現在のセッションにだけ関連する情報を表示するのに適しています。フィールド値は現在のセッションの間だけ存在し、保存されません。表示用の計算結果フィールドの内容をビューに表示することはできません。

計算結果フィールドの値の式を作成するには

  1. 計算結果フィールドを選択します。種類は問いません。
  2. インフォリストの [オブジェクト] タブから、[値] を選択します。
  3. プログラムペインのスクリプトエリアに、式、フィールド名、または引用符で囲まれたテキスト文字列を入力します。
  4. 緑色のチェックマークをクリックして、式を検査して保存します。
  5. (計算結果フィールド、または表示用の計算結果フィールドでは省略可能) 入力確認式を実行するまで計算を遅らせるには、[設計] - [フィールドのプロパティ] を選択して、[フィールド情報] タブから [確認してから計算する] を選択します。
  6. (オプション) ユーザーが文書を編集している間にフィールド値を再計算するには、フォームをクリックして、[設計] - [フォームのプロパティ] を選択し、[フォーム情報] タブをクリックしてから、[フィールドを自動更新] を選択します。
    注: 自動的にフィールドを更新すると、文書の表示時間が遅くなります。処理速度を上げるには、LotusScript® のフィールドイベントを記述して文書を再計算するか、ユーザーが特定のフィールドから移動するときに、他のフィールドを更新します。

関連項目

NotesDocument.ComputeWithForm

@Command([ViewRefreshFields])