@SetDocField (式言語)

一意の文書 ID (UNID) で指定された文書の指定されたフィールドの値を設定します。対象となる文書は、現在のデータベース内に存在していなければなりません。

構文

@SetDocField( documentUNID ; fieldName ; newValue )

パラメータ

documentUNID

文字列。一意の文書 ID を指定します。現在の文書のユニーク ID (UNID) を指定するには、@DocumentUniqueID を使用します。親文書のユニーク ID を指定するには、$Ref を最初のパラメータとして使用します。[$Ref] は返答文書の特別なフィールドで、親文書のユニーク ID が格納されています。

fieldName

文字列。文書のフィールド名を引用符で囲んで指定します。フィールド名を変数に保存する場合は、引用符は省略します。

newValue

文字列、数値、日時、日時の範囲、または日時の範囲のリスト。フィールドに与える値です。

使用法

この関数は、列式や選択式では使用できません。@SetDocField は、フィールド式、ボタン式、エージェント式で使用すると特に効果的です。

注: Release 6 からは、同じデータベースの他の文書だけでなく、現在の文書のフィールド値も @SetDocField を使用して設定できます。

  1. 次の式を返答フォームのボタンに設定すると、親文書の件名が「More people are commuting by bicycle」に変更されます。[$Ref] は返答文書の特別なフィールドで、親文書のユニーク ID が格納されています。
    @SetDocField($Ref; "Subject"; "More people are commuting by bicycle")
  2. このボタン式は、現在の文書の [name] フィールドの値を Joseph Riley に変更します。
    @SetDocField(@DocumentUniqueID; "name"; "Joseph Riley")
  3. あるデータベースで、子のステータス文書が変更されるたびに親のプロジェクト文書を更新する必要があるものとします。各プロジェクト文書にはステータス文書が 1 つあります。具体的には、子のステータス文書の [lastAction] フィールドの内容が反映されるようにプロジェクト文書の [latestStatus] フィールドを更新します。

    そのために、[Status] フォームの [lastAction] フィールドに対して次の入力変換式を記述します。

    @SetDocField($Ref; "latestStatus"; lastAction );
    lastAction
  4. 次のボタン式では、@DbLookup を使用して特定の文書の UNID を取り出します。次に、その文書の [employee title] フィールドの値を「sales associate」に変更します。
    @SetDocField(@DbLookup(""; "Magnet":"Personnel.nsf"; "Staff"; "Joe Smith";
    "uniqueid"); "Employee Title"; "Sales Associate")
  5. このボタン式は、現在の文書の [name] フィールドの値を Joseph と Riley を含むリストに変更します。
    @SetDocField(@DocumentUniqueID; "name"; "Joseph" : "Riley")

クロスリファレンス

LotusScript® NotesUIDocument クラスの FieldSetText メソッド

LotusScript NotesDatabase クラスの GetDocumentByUNID メソッド

LotusScript NotesDocument クラスの ReplaceItemValue メソッド

Java™ Database クラスの getDocumentByUNID メソッド

Java Document クラスの replaceItemValue メソッド